matlab中解方程组syms x y z t[x,y,z,t]=solve(2*x+3*y-z+t-2,5*x+y+z

1个回答

  • 是这么回事.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"就是按字母顺序的意思