Also hier sind die beiden Gleichungen:MATLAB - Halte leere Matrizen bekommen, wenn das System von Gleichungen zu lösen
(1-e^φ) * P = (1-e^β) G + (e^β) (1-e^α) * W
α = φ -β
Wo φ = 90 und P, G und W 1x2 Matrizen von [2,1], [0,0] und [ 1,3822, 1,3822].
Hier ist mein Code:
function y = RR2CrankAng(P12,G,W1,theta)
syms beta alpha
eqn1 = ((1-exp(theta))*P12) == ((1-exp(beta))*G)+((exp(beta))*(1-exp(alpha))*W1);
eqn2 = alpha == theta - beta;
sol = solve([eqn1, eqn2], [beta12, alpha12]);
xSol = sol.beta12;
ySol = sol.alpha12;
y = [xSol,ySol];
end
CA = RR2CrankAng(P12,G,W1,theta12)
CA =
Empty sym: 0-by-2
Was mache ich falsch? Gibt es einen besseren Weg, dies zu tun? Ich lerne immer noch MATLAB.
Weil 'P',' G' und 'W' sind zwei Elementen Vektoren, Sie technisch mit nur zwei drei Gleichungen Variablen und "lösen" scheint keine überbestimmten Systeme zu mögen. Ohne weiter zu klären, wonach Sie suchen (das System für jedes einzelne Element der Vektoren einzeln zu lösen oder ein Problem der kleinsten Quadrate für alle drei Gleichungen zu lösen), kann ich Ihnen keinen Rat geben, wie Sie vorgehen sollen. – TroyHaskin