matlab中解方程组

symsxyzt[x,y,z,t]=solve(2*x+3*y-z+t-2,5*x+y+z-t-13,x-y+2*z+2*t-3,3*x+2*y+2*z+9*t+3)结果... syms x y z t
[x,y,z,t]=solve(2*x+3*y-z+t-2,5*x+y+z-t-13,x-y+2*z+2*t-3,3*x+2*y+2*z+9*t+3)

结果:x =

-2

y =

1

z =

2

t =

4
结果是不对的。做了如下调整:
syms x y z t
[t,x,y,z]=solve(2*x+3*y-z+t-2,5*x+y+z-t-13,x-y+2*z+2*t-3,3*x+2*y+2*z+9*t+3)

结果:
t =

-2

x =

1

y =

2

z =

4
这是正确的。
这是为什么?
感谢rocwoods的解答.不过,既然是你说的那样,我想知道,如何确定未知数的位置呢?莫非是按照英文字母的顺序?请rocwoods能再次解答.我已将分数提高到30了.
展开
rocwoods
2006-10-09 · TA获得超过1118个赞
知道小有建树答主
回答量:277
采纳率:0%
帮助的人:209万
展开全部
是这么回事。solve函数求解方程组时,函数输出结果,也就是方程组的未知数是有一定顺序的。你的例子一共有4个未知数,solve求解出来后[x1,x2,x4,x4]存放的分别是t,x,y,z.如果你这么调用[t,x,y,z]=solve(2*x+3*y-z+t-2,5*x+y+z-t-13,x-y+2*z+2*t-3,3*x+2*y+2*z+9*t+3)
,t存放t,x存放x,y存放y,z存放z,当然和实际结果一样。
可是如果这样[x,y,z,t]=solve(2*x+3*y-z+t-2,5*x+y+z-t-13,x-y+2*z+2*t-3,3*x+2*y+2*z+9*t+3),那么x存放的实际就是t了,y存放x等等
楼主说对了,的确是按照英文字母的顺序。以下是MATLAB中的帮助信息:
For a system of equations and an equal number of outputs, the results are sorted alphabetically and assigned to the outputs.
"alphabetically"就是按字母顺序的意思
欢迎楼主去这里逛逛!牛人很多的。http://bbs.matwav.com/
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
江苏华简晟01
2024-10-21 广告
色谱检测服务热线18721007633, 江苏华简晟检测科技是研究性测试服务机构,基于多年的分析表征专业技术积累和辐射全国的服务网络,每年出具数万分技术报告,累计服务客户数千万家。... 点击进入详情页
本回答由江苏华简晟01提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式