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-...
有个方程组(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个这样的方程,如果有别的方法也可以说一下 展开
(x2-x)^2+(y2-y)^2+(z2-z)^2=p2
(x3-x)^2+(y3-y)^2+(z3-z)^2=p3
请问matlab怎么解,要能把所有解都算出来
我要解3000个这样的方程,如果有别的方法也可以说一下 展开
3个回答
展开全部
楼主这个方程组有特殊性,把三个方程的平方展开后可以吧所有的平方项都约掉,变成一个三元一次的方程组。
若P1=P2=P3那么,楼主的问题实际是找这三个点的圆心,只有一个解。所以肯定是三元一次的,因为这样的圆心只有一个。(1,2,3点不在同一直线上)。
当然如果p1!=P2!=P3也可以解,并且也只有一个解,不过就不是一个圆,没有这么好理解。如果还有不明白的可以联系我。
解这样的问题还用动matlab?
补充说明:我试了一下,确实动手解了一下方程组,其实还是有点问题的,主要是得到的解误差太大。比如1400mm的标准解,实际得到的答案可能是1380-1420之间。
若P1=P2=P3那么,楼主的问题实际是找这三个点的圆心,只有一个解。所以肯定是三元一次的,因为这样的圆心只有一个。(1,2,3点不在同一直线上)。
当然如果p1!=P2!=P3也可以解,并且也只有一个解,不过就不是一个圆,没有这么好理解。如果还有不明白的可以联系我。
解这样的问题还用动matlab?
补充说明:我试了一下,确实动手解了一下方程组,其实还是有点问题的,主要是得到的解误差太大。比如1400mm的标准解,实际得到的答案可能是1380-1420之间。
展开全部
用下面这个式子肯定可以解出来的,不过呢你要找一个牛一点的机器,至少要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')
[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')
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请问您是用的什么方法啊,能不能共享一下!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询