MATLAB 解三元二次方程

有个方程组(x1-x)^2+(y1-y)^2+(z1-z)^2=p1
(x2-x)^2+(y2-y)^2+(z2-z)^2=p2
(x3-x)^2+(y3-y)^2+(z3-z)^2=p3
请问matlab怎么解,要能把所有解都算出来
我要解3000个这样的方程,如果有别的方法也可以说一下

楼主这个方程组有特殊性,把三个方程的平方展开后可以吧所有的平方项都约掉,变成一个三元一次的方程组。
若P1=P2=P3那么,楼主的问题实际是找这三个点的圆心,只有一个解。所以肯定是三元一次的,因为这样的圆心只有一个。(1,2,3点不在同一直线上)。
当然如果p1!=P2!=P3也可以解,并且也只有一个解,不过就不是一个圆,没有这么好理解。如果还有不明白的可以联系我。
解这样的问题还用动matlab?
补充说明:我试了一下,确实动手解了一下方程组,其实还是有点问题的,主要是得到的解误差太大。比如1400mm的标准解,实际得到的答案可能是1380-1420之间。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-12-01
用下面这个式子肯定可以解出来的,不过呢你要找一个牛一点的机器,至少要4核8G内存,然后装个64为的matlab,运行下面的命令,才有那么一点可能性解出来
[x,y,z]=solve('(x1-x)^2+(y1-y)^2+(z1-z)^2=p1','(x2-x)^2+(y2-y)^2+(z2-z)^2=p2','(x3-x)^2+(y3-y)^2+(z3-z)^2=p3','x','y','z')本回答被提问者采纳
第2个回答  2013-01-17
请问您是用的什么方法啊,能不能共享一下!