matlab符号方程给出待定结果?

matlab符号方程给出待定结果?,matlab,equation,symbolic-math,Matlab,Equation,Symbolic Math,不太确定solve函数在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))-

不太确定solve函数在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)


任何建议都会有帮助。谢谢!

求解函数描述中的一条引文:

对于几个方程和 如果输出的数量相等,则结果按字典排序 对输出进行排序和分配

第一个示例的字典顺序是x,y,如参数中所示

第二个例子的字典顺序是i,j。例如,它与参数的顺序相反

函数中参数的函数下降顺序,只考虑符号变量的名称。在输出之前,这些名称按字母顺序排序

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)