不太确定求解函数在matlab中是如何工作的?我试图解决以下符号方程式,它给出了在定义不同参数时交换x和y值的结果:
T = [0.3, 1.4, 10; 1.3, 0.4, 15; 0.02, 0.01, 1];
syms x y j i
q1 = (T(1,1)*x+T(1,2)*y+T(1,3))/(T(3,1)*x+T(3,2)*y+T(3,3))-j;
q2 = (T(2,1)*x+T(2,2)*y+T(2,3))/(T(3,1)*x+T(3,2)*y+T(3,3))-i;
[x,y] = solve(sym(q1),sym(q2),x,y);
x =
(50*j - 260*i + 3400)/(5*i + j - 340)
y =
(20*i - 200*j + 1700)/(5*i + j - 340)
T = [0.3, 1.4, 10; 1.3, 0.4, 15; 0.02, 0.01, 1];
syms j i jj ii
q1 = (T(1,1)*j+T(1,2)*i+T(1,3))/(T(3,1)*j+T(3,2)*i+T(3,3))-jj;
q2 = (T(2,1)*j+T(2,2)*i+T(2,3))/(T(3,1)*j+T(3,2)*i+T(3,3))-ii;
[j,i] = solve(sym(q1),sym(q2),j,i);
j =
(20*ii - 200*jj + 1700)/(5*ii + jj - 340)
i =
(50*jj - 260*ii + 3400)/(5*ii + jj - 340)
任何建议都会有所帮助。谢谢!
答案 0 :(得分:2)
解释函数描述的一个引用:
对于几个方程式和 相同数量的输出,结果按字典顺序排序 订单并分配给输出。
第一个例子的词典顺序是参数中给出的x,y。
第二个例子的词典顺序是i,j。例如。它与参数的顺序相反。
似乎函数中函数的函数丢弃顺序,只考虑符号变量的名称。在输出之前,这些名称按字母顺序排序。