NEED URGENT HELP! Code keeps returning the desired variables as empty 0x1
Info
Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.
Ältere Kommentare anzeigen
My code is currently only returning Empty sym: 0-by-1.
CODE:
clear;
clc;
%Knowns
%Knowns
i = sqrt(-1);
Theta_AB = 0;
Theta_DB = 90*(pi/180);
Omega_AB = 0;
Alpha_AB = 0;
Omega_AC = 15*(360/1)*(pi/180)*(1/60);
R_AB = 24;
syms R_AC R_CD R_DB R_EB Theta_AC Theta_CD Omega_CD Omega_DB Alpha_AC Alpha_CD Alpha_DB
%Real
EqnRP1 = R_AC*cos(Theta_AC) + R_CD*cos(Theta_CD) + R_DB*cos(Theta_DB) - R_AB*cos(Theta_AB) == 0;
EqnRV1 = R_AC*Omega_AC*(-sin(i*Theta_AC)) + R_CD*Omega_CD*(-sin(Theta_CD)) + R_DB*Omega_DB*(-sin(Theta_DB)) - R_AB*Omega_AB*(-sin(Theta_AB)) == 0;
EqnRA1 = R_AC*Omega_AC^2*(-cos(Theta_AC)) + R_AC*Alpha_AC*(-sin(Theta_AC)) + R_CD*Omega_CD^2*(-cos(Theta_CD)) + R_CD*Alpha_CD*(-sin(Theta_CD)) + R_DB*Omega_DB^2*(-cos(Theta_DB)) + R_DB*Alpha_CD*(-sin(Theta_DB)) - R_AB*Omega_AB^2*(-cos(Theta_AB)) - R_AB*Alpha_CD*(-sin(Theta_AB)) == 0;
%Imagininary
EqnIP1 = R_AC*i*sin(Theta_AC) + R_CD*i*sin(Theta_CD) + R_DB*i*sin(Theta_DB) - R_AB*i*sin(Theta_AB) == 0;
EqnIV1 = R_AC*Omega_AC*i*cos(Theta_AC) + R_CD*Omega_CD*i*cos(Theta_CD) + R_DB*Omega_DB*cos(Theta_DB) - R_AB*Omega_AB*cos(Theta_AB) == 0;
EqnIA1 = R_AC*Omega_AC^2*i*(cos(Theta_AC)) + R_AC*Alpha_AC*i*(-sin(Theta_AC)) + R_CD*Omega_CD^2*i*(cos(Theta_CD)) + R_CD*Alpha_CD*i*(-sin(Theta_CD)) + R_DB*Omega_DB^2*i*(cos(Theta_DB)) + R_DB*Alpha_CD*i*(-sin(Theta_DB)) - R_AB*Omega_AB^2*i*(cos(Theta_AB)) - R_AB*Alpha_CD*i*(-sin(Theta_AB)) == 0;
%Additional Constraints
Eqn1 = Theta_AC == Theta_CD;
Eqn2 = 739.2 == Omega_DB*R_EB;
Eqn3 = R_AC + R_EB <= R_CD + R_AB;
Eqn4 = Alpha_DB * R_EB <= 3;
Eqn5 = R_EB <= R_AB + 6;
[R_AC, R_CD, R_DB, R_EB, Theta_AC, Theta_CD, Omega_CD, Omega_DB, Alpha_AC, Alpha_CD, Alpha_DB] = vpasolve([EqnRP1, EqnRV1, EqnRA1, EqnIP1, EqnIV1, EqnIA1, Eqn1, Eqn2, Eqn3, Eqn4, Eqn5],[R_AC, R_CD, R_DB, R_EB, Theta_AC, Theta_CD, Omega_CD, Omega_DB, Alpha_AC, Alpha_CD, Alpha_DB]);
R_AC
R_CD
R_EB
COMMAND WINDOW:
R_AC =
Empty sym: 0-by-1
R_CD =
Empty sym: 0-by-1
R_EB =
Empty sym: 0-by-1
>>
Antworten (1)
John D'Errico
am 29 Nov. 2022
Bearbeitet: John D'Errico
am 29 Nov. 2022
0 Stimmen
Must a solution exist for all problems? No. Of course not. Those empty syms are a signal that MATLAB was unable to solve your problem. That does not mean there is no solution. Just that one could not be found.
The fact is however, that while it LOOKs like you have 11 equations, some of them are inequalities. And that means that there MAY be infinitely many solutions. But this is a very complicated system. So hoping for some explicit solution is way too optimistic.
Diese Frage ist geschlossen.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!