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

>> 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
以上是错误警告
为什么解出来是空值,或者是[]
按道理说九个等式 七个未知量可以的啊

 Réponse acceptée

dedan
dedan le 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

Plus de réponses (0)

Catégories

En savoir plus sur 数学 dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!