求助:请问为什么方程组求解输出空集
mathematica吧
全部回复
仅看楼主
level 3
无·名·氏 楼主
现在想解一组方程,三个方程三个未知数相互独立,理想情况是得到六组(phi,x,y)的值,但是现在输出的是空白,求帮助!!!!!代码如下:Solve[{c2 == 15.91,
c3 == 0.00,
d3 == 10.00,
L2 == 17.04,
L3 == 20.84,
theta == 50.57,
p1 == 14.98,
p2 == 15.38,
p3 == 12,
p1^2 == x^2 + y^2,
p2^2 == (x + L2*cos (phi) - c2)^2 + (y + L2*sin (phi))^2,
p3^2 == (x + L3*cos (phi + theta) - c3)^2 + (y +
L3*sin (phi + theta) - d3)^2},
{x, y, phi}]
2023年11月24日 07点11分 1
level 8
以我的经验来讲,用Solve求解时常数最好直接赋值而不是当成方程的一部分。另外mathematica的内部函数(Sin,Cos)颜色为黑色且首字母大写,你方程中的sin cos被当成符号了。
c2 = 15.91;
c3 = 0.00;
d3 = 10.00;
L2 = 17.04;
L3 = 20.84;
theta = 50.57;
p1 = 14.98;
p2 = 15.38;
p3 = 12;
Solve[{p1^2 == x^2 + y^2,
p2^2 == (x + L2*Cos [phi] - c2)^2 + (y + L2*Sin[phi])^2,
p3^2 == (x + L3*Cos[phi + theta] - c3)^2 + (y +
L3*Sin[phi + theta] - d3)^2}, {x, y, phi}]
2023年11月24日 12点11分 0
非常感谢,经过修改三角函数的表示Sin[x]并且提前赋值,已成功运行!
2023年11月25日 06点11分
level 3
无·名·氏 楼主
有一行数据更正为theta=0.882603*180/Pi,可能是因为近似导致的无解?改正后还是算不出来
2023年11月24日 11点11分 4
level 3
无·名·氏 楼主
问题已解决,参考结果如下
2023年11月25日 06点11分 6
1