为什么线性方程组解不出答案。

>> Xa1=1;
Xa2=1;
Xa3=1;
Ya1=2;
Ya2=3;
Ya3=5;
Za1=3;
Za2=4;
Za3=7;
Xb1=3;
Xb2=3;
Xb3=3;
Yb1=8;
Yb2=7;
Yb3=9;
Zb1=10;
Zb2=12;
Zb3=14;
syms T1 T2 T3 Wx Wy Wz M;
P1=Xa1-Xb1+T1-Wy*Za1+Wz*Ya1+Xa1*M;
P2=Ya1-Yb1+T2+Wx*Za1-Wz*Xa1+Ya1*M;
P3=Za1-Zb1+T3-Wx*Ya1+Wy*Xa1+Za1*M;
P4=Xa2-Xb2+T1-Wy*Za2+Wz*Ya2+Xa2*M;
P5=Ya2-Yb2+T2+Wx*Za2-Wz*Xa2+Ya2*M;
P6=Za2-Zb2+T3-Wx*Ya2+Wy*Xa2+Za2*M;
P7=Xa3-Xb3+T1-Wy*Za3+Wz*Ya3+Xa3*M;
P8=Ya3-Yb3+T2+Wx*Za3-Wz*Xa3+Ya3*M;
P9=Za3-Zb3+T3-Wx*Ya3+Wy*Xa3+Za3*M;
[T1,T2,T3,Wx,Wy,Wz,M]=solve('Xa1-Xb1+T1-Wy*Za1+Wz*Ya1+Xa1*M','Ya1-Yb1+T2+Wx*Za1-Wz*Xa1+Ya1*M','Za1-Zb1+T3-Wx*Ya1+Wy*Xa1+Za1*M','Xa2-Xb2+T1-Wy*Za2+Wz*Ya2+Xa2*M','Ya2-Yb2+T2+Wx*Za2-Wz*Xa2+Ya2*M','Za2-Zb2+T3-Wx*Ya2+Wy*Xa2+Za2*M','Xa3-Xb3+T1-Wy*Za3+Wz*Ya3+Xa3*M','Ya3-Yb3+T2+Wx*Za3-Wz*Xa3+Ya3*M','Za3-Zb3+T3-Wx*Ya3+Wy*Xa3+Za3*M',T1,T2,T3,Wx,Wy,Wz,M);
以上是代码
Warning: 9 equations in 7 variables.
> In D:\matlab\R2013a\toolbox\symbolic\symbolic\symengine.p>symengine at 56
In mupadengine.mupadengine>mupadengine.evalin at 97
In mupadengine.mupadengine>mupadengine.feval at 150
In solve at 170
Warning: Explicit solution could not be found.
> In solve at 179
以上是错误警告
为什么解出来是空值,或者是[]
按道理说九个等式 七个未知量可以的啊

 Accepted Answer

dedan
dedan on 16 Nov 2022

0 votes

数值解Matlab的话用fsolve。
另外用1stOpt更简单:
Constant Xa1=1, Xa2=1, Xa3=1, Ya1=2, Ya2=3, Ya3=5, Za1=3, Za2=4, Za3=7,
         Xb1=3, Xb2=3, Xb3=3, Yb1=8, Yb2=7, Yb3=9, Zb1=10, Zb2=12, Zb3=14;
Function
Xa1-Xb1+T1-Wy*Za1+Wz*Ya1+Xa1*M;
Ya1-Yb1+T2+Wx*Za1-Wz*Xa1+Ya1*M;
Za1-Zb1+T3-Wx*Ya1+Wy*Xa1+Za1*M;
Xa2-Xb2+T1-Wy*Za2+Wz*Ya2+Xa2*M;
Ya2-Yb2+T2+Wx*Za2-Wz*Xa2+Ya2*M;
Za2-Zb2+T3-Wx*Ya2+Wy*Xa2+Za2*M;
Xa3-Xb3+T1-Wy*Za3+Wz*Ya3+Xa3*M;
Ya3-Yb3+T2+Wx*Za3-Wz*Xa3+Ya3*M;
Za3-Zb3+T3-Wx*Ya3+Wy*Xa3+Za3*M;
没有精确实数解,近似解:
t1: 2.24999998713377
wy: -5.59293952314284E-8
wz: -7.39378106406253E-8
m: -0.250000000750601
t2: 6.54999992665872
wx: -0.225000000443284
t3: 7.75000005560102

More Answers (0)

Tags

Asked:

on 16 Nov 2022

Answered:

on 16 Nov 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!