求解6个非线性方程,其中6个变量不起作用

问题描述 投票:0回答:1

我正在尝试求解由6个变量组成的6个非线性方程组的系统,但笔记本计算机连续运行了2天。我究竟做错了什么? (附带笔记本)

exp1 = ExpandAll[(xd1 - x1)^2 + (yd1 - y1)^2 + z1^2 == h1^2];
exp2 = ExpandAll[(xd2 - x2)^2 + (yd2 - y2)^2 + z2^2 == h2^2];
exp3 = ExpandAll[(xd3 - x3)^2 + (yd3 - y3)^2 + z3^2 == h3^2];
exp4 = ExpandAll[((x1 - x2)^2 + (y1 - y2)^2 + (z1 - z2)^2)^(1/2) + ((x2 - x3)^2 + (y2 -y3)^2 + (z2 - z3)^2)^(1/2) == ((x1 - x3)^2 + (y1 - y3)^2 + (z1 - z3)^2)^(1/2)];
exp5 = ExpandAll[((z2 - z1)/(((x1 - x2)^2 + (y1 - y2)^2 + (z1 - z2)^2)^(1/2))) == ((z3 - z2)/(((x2 - x3)^2 + (y2 - y3)^2 + (z2 - z3)^2)^(1/2)))];
exp6 = ExpandAll[((z3 - z1)/(((x1 - x3)^2 + (y1 - y3)^2 + (z1 - z3)^2)^(1/2))) == ((z3 - z2)/(((x2 - x3)^2 + (y2 - y3)^2 + (z2 - z3)^2)^(1/2)))];

NSolve[{exp1, exp2, exp3, exp4, exp5, exp6}, {x1, y1, x2, y2, x3, y3}, Reals]
wolfram-mathematica algebra equation-solving
1个回答
0
投票

不是答案,但是评论太久了。]。]

xk, yk, zk定义点Pk,然后通过等式三角形不等式exp4意味着三个点P1, P2, P3是共线的,P2P1P3之间。

对于某些P2 = a P1 + (1-a) P3,这等效于a ∈ [0,1],在这种情况下,exp5exp6紧随其后,因此最后两个等式是多余的。

然后,比率a可以从zk坐标确定为a = (z3 - z2) / (z3 - z1)。当计算的a落在允许的间隔[0,1]内时,其余等式为:

  (xd1 - x1)^2 + (yd1 - y1)^2 + z1^2 == h1^2
  (xd2 - a x1 - (1-a) x3)^2 + (yd2 - a y1 - (1-a) y3)^2 + z2^2 == h2^2
  (xd3 - x3)^2 + (yd3 - y3)^2 + z3^2 == h3^2

这是一个由3个方程式组成的系统,其中有4个未知数{x1, y1, x3, y3}。在一般情况下,它可以不具有任何,多个或无限多个解决方案,尽管不一定要精确地计算。

© www.soinside.com 2019 - 2024. All rights reserved.