System of equation solving problem

조회 수: 1 (최근 30일)
Ander Azpitarte
Ander Azpitarte 2020년 5월 8일
댓글: Ander Azpitarte 2020년 5월 14일
Hi everybody!
I have the following system of equations
syms A1X A1Y NA7 P1X P1Y NP2 AY D2X C1X D2Y C1Y
ND1=0
MS=0
A0X=0
MA=3095.2
MB=19950.33
QO=0
QE=4774.2
teta=0.71
X=18
P1P2=3.98
P1D1=4.61
G=9.81
YP1A1=0.432
LGB=3.25
P1A1=2.444
M=351.21
LX=4.317
ee1=A1X-ND1==0
ee2=A1Y+NA7-MA*G-QE*X-QO*X==0
ee3=NA7*X-QO*(X^2)/2-MA*G*(X/2)-QE*(X^2)/2==0
ee4=P1X+ND1-A1X==0
ee5=P1Y+NP2-A1Y-MB*G==0
ee6=NP2*P1P2+A1X*YP1A1-MB*G*LGB-ND1*P1D1-A1Y*P1A1==0
ee7=NA7+14*AY-QE*X-QO*X==0
ee8=MS-M*G*(X/12+3*X/12+5*X/12+7*X/12+9*X/12)-(3/4)*M*G*11*X/12-AY*(15*X/6+X)==0
ee9=A1X+A0X+D2X-C1X==0
ee10=A1Y+D2Y-AY-C1Y-M*G/2==0
ee11=MS+LX/2*(C1X*cos(teta)-C1Y*sin(teta)-M*G*sin(teta)/2)+LX*(D2X*sin(teta)-D2X*cos(teta))==0
sol = solve([ee1, ee2, ee3 , ee4 , ee5 , ee6 , ee7 , ee8 , ee9 , ee10 , ee11], [A1X, A1Y, NA7, P1X, P1Y, NP2, AY, D2X, C1X, D2Y, C1Y ])
But when solving, it returns
sol =
A1X: [0×1 sym]
A1Y: [0×1 sym]
NA7: [0×1 sym]
P1X: [0×1 sym]
P1Y: [0×1 sym]
NP2: [0×1 sym]
AY: [0×1 sym]
D2X: [0×1 sym]
C1X: [0×1 sym]
D2Y: [0×1 sym]
C1Y: [0×1 sym]
I doesn't solve it and I don't know why. Can anybody help
Thank you in advance

채택된 답변

Niharika Arora
Niharika Arora 2020년 5월 14일
Understanding of the output by solve:
Solve returns 0x1 when the set of equations you are trying to solve, does not have a valid symbolic solution.
In the event like this, careful observation and substitution(wherever possible) of different variables in the equations would lead you to the equations which are at conflict.
Please refer the below observations:
  1. Equation 1 would give you A1X=0.
  2. Combination of ee2 and ee3 would give you the values for NA7 and A1Y.
  3. Each of the following equations would follow the trend and compute a value for a new symbolic variable.
  4. However, ee7 and ee8 are at a conflict due to the fact that both the equations are trying to compute the value for the variable 'AY'.
  5. The solution to the problem is to eliminate either of the equation (ee7 or ee8). Then, "solve()" would return the expected result.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Number Theory에 대해 자세히 알아보기

제품


릴리스

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by