matlab 求解多个变量的方程组

2024-10-31 21:33:04
有1个网友回答
网友(1):

等号右边'x','y'只是声明变量,他们的排序对计算没有影响。另外matlab返回值的默认排序问题, 总是先x的值,再y的值, 再z的值...,它不管你等号左边变量的名称是什么,就算是[t,p]=solve(eq1, eq2, 'y','x'); t也是x的值, p也是y的值.
这样看
S1 = solve(eq1, eq2, 'x', 'y');
S2 = solve(eq1 ,eq2, 'y', 'x');
S1.x和S2.x的值是相同的, S1.y和S2.y的值也相同, 没有问题.
可以认为[x,y]=solve(eq1, eq2, 'x', 'y'); 的赋值相当于[x,y]=[S1.x, S1.y];
同理
[y,x]=solve(eq1, eq2, 'y','x'); 赋值相当于[y,x]=[S2.x, S2.y];
这样就导致了你所说的问题。