필터 지우기
필터 지우기

Computation problems of nonlinear algebraic simultaneous equations.

조회 수: 2 (최근 30일)
RJW
RJW 2023년 10월 27일
댓글: RJW 2023년 10월 30일
Hello everyone. This is my first time posting a question. Perhaps a symbolic solution cannot be obtained because of the unknowns in the trigonometric functions. Still, I'm posting a question just in case. Thank you in advance for anyone who helps.
Below is a problem that is currently computed numerically, but not symbolically.
------------------------------------------------------------------------------------------------------------------------------------
syms g m1 m2 m3 m4 I1 S1 S2 theta1 theta2 theta3 theta4 theta5 mu1 mu2 mu3 mu4 mu5 mu6 r1 r2 r3 r4 N1 N2 N3 N4 N5 N5x N5z N6 N7 N8 N9 P2 alpha1 a1 a2 t Ur
eqn1 = N1==N3+mu3*N4+mu4*N6+mu5*N7+m2*a1;
eqn2 = N2==m3*g;
eqn3 = N3==N8*sin(theta2)+mu6*N8*cos(theta2);
eqn4 = N4==m4*g+S2;
eqn5 = N5x==P2*sin(theta1+theta3)+N1;
eqn6 = N5z==m1*g+P2*cos(theta1+theta3)+mu1*N1;
eqn7 = N6==-m2*g+mu1*N1-N2-N4;
eqn8 = N7==S1+mu2*N2+mu2*N3;
eqn9 = N8==(S1+mu2*N2+mu2*N3+m3*a2)/(cos(theta2)-mu6*sin(theta2));
eqn10 = N9==mu3*N4;
eqn11 = alpha1==(r1*P2*cos(theta3)-r3*m1*g*cos(theta1)-(r2-r4*cos(theta1))*(N1*sin(theta1)+mu1*N1*cos(theta1)))/I1;
eqn12 = a1==Ur*alpha1*r2*sin((Ur*alpha1*t^2)/2 + Ur*theta1) + Ur^2*alpha1^2*r2*t^2*cos((Ur*alpha1*t^2)/2 + Ur*theta1);
eqn13 = a2==a1*tan(theta2);
sol = solve([eqn1, eqn2, eqn3, eqn4, eqn5, eqn6, eqn7, eqn8, eqn9, eqn10, eqn11, eqn12, eqn13], [N1, N2, N3, N4, N5x, N5z, N6, N7, N8, N9, alpha1, a1, a2]);
SolN1 = simplify(sol.N1,'steps',1000)
------------------------------------------------------------------------------------------------------------------------------------
So I added or modified the command as below, but it still doesn't work.
------------------------------------------------------------------------------------------------------------------------------------
eqn1 = rewrite(eqn1,'log');
eqn2 = rewrite(eqn2,'log');
eqn3 = rewrite(eqn3,'log');
eqn4 = rewrite(eqn4,'log');
eqn5 = rewrite(eqn5,'log');
eqn6 = rewrite(eqn6,'log');
eqn7 = rewrite(eqn7,'log');
eqn8 = rewrite(eqn8,'log');
eqn9 = rewrite(eqn9,'log');
eqn10 = rewrite(eqn10,'log');
eqn11 = rewrite(eqn11,'log');
eqn12 = rewrite(eqn12,'log');
eqn13 = rewrite(eqn13,'log');
sol = solve([eqn1, eqn2, eqn3, eqn4, eqn5, eqn6, eqn7, eqn8, eqn9, eqn10, eqn11, eqn12, eqn13], [N1, N2, N3, N4, N5x, N5z, N6, N7, N8, N9, alpha1, a1, a2], 'IgnoreAnalyticConstraints',1);
------------------------------------------------------------------------------------------------------------------------------------
I wrote only the problematic parts of the command as shown below. Still not resolved. I think the problem is probably that I wrote "(Ur*alpha1*t^2)/2 + Ur*theta1" inside the trigonometric function.
------------------------------------------------------------------------------------------------------------------------------------
syms g m1 m2 m3 m4 I1 S1 S2 theta1 theta2 theta3 theta4 theta5 mu1 mu2 mu3 mu4 mu5 mu6 r1 r2 r3 r4 N1 N2 N3 N4 N5 N5x N5z N6 N7 N8 N9 P2 alpha1 a1 a2 t Ur
eqn1 = N1==N3+mu3*N4+mu4*N6+mu5*N7+m2*a1;
eqn11 = alpha1==(r1*P2*cos(theta3)-r3*m1*g*cos(theta1)-(r2-r4*cos(theta1))*(N1*sin(theta1)+mu1*N1*cos(theta1)))/I1;
eqn12 = a1==Ur*alpha1*r2*sin((Ur*alpha1*t^2)/2 + Ur*theta1) + Ur^2*alpha1^2*r2*t^2*cos((Ur*alpha1*t^2)/2 + Ur*theta1);
eqn1 = rewrite(eqn1,'log');
eqn11 = rewrite(eqn11,'log');
eqn12 = rewrite(eqn12,'log');
sol = solve([eqn1, eqn11, eqn12], [N1, alpha1, a1], 'IgnoreAnalyticConstraints',1);
Sol01 = simplify(sol.N1,'steps',1)
Sol02 = simplify(sol.alpha1,'steps',1)
Sol03 = simplify(sol.a1,'steps',1)
------------------------------------------------------------------------------------------------------------------------------------
As already mentioned, this problem can be solved numerically. Is it too complicated to solve symbolically?

채택된 답변

Walter Roberson
Walter Roberson 2023년 10월 27일
Yes. It is too difficult to solve symbolically (at least according to Maple)
  댓글 수: 3
John D'Errico
John D'Errico 2023년 10월 27일
What @Walter Roberson said would be my exact response too. Computers are not all powerful (except on TV.)
RJW
RJW 2023년 10월 30일
Oh, I see. thank you!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Linear Algebra에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by