kyske 发表于 2016-5-16 20:33

solve指令解联立方程式的问题

这是一段解联立方程式的代码,希望将 x, y, z 以 i, j, k, l, m, n, r 的形式表示,
但跑了四五个小时MATLAB仍然是没有结果,视窗左下角一直呈现busy的状态,
不知道有没有什么地方出了问题,希望各位高手能够帮个忙,该如何解决?
我的MATLAB版本是R2012a,先谢谢各位了。

代码如下:

syms x y z i j k l m n r
f1 = (m*(n-k)+n*(j-m))*x + (l*(k-n)+n*(l-i))*y + (l*(m-j)+m*(i-l))*z;
f2 = (x-l)^2 + (y-m)^2 + (z-n)^2 - r^2;
f3 = ((x*(x-l)+y*(y-m)+z*(z-n))/sqrt(x^2+y^2+z^2)) - (((x-i)*(x-l)+(y-j)*(y-m)+(z-k)*(z-n))/sqrt((x-i)^2+(y-j)^2+(z-k)^2));
D = solve(f1, f2, f3, x, y, z);

desolate 发表于 2016-5-18 15:16

符号运算不是万能的,可以考虑改成数值计算
页: [1]
查看完整版本: solve指令解联立方程式的问题