2016-03-20 15 views
0

Hallo, ich bin neu bei MATLAB. Ich habe versucht, diese Gleichungen zu lösen, um entweder eine analytische Lösung zu erhalten oder sie numerisch zu lösen. Für die analytische Lösung erhalte ich den folgenden Fehler:Lösen mehrerer nichtlinearer Gleichungen in MATLAB

Warnung: Kann symbolisch nicht lösen. Rückgabe stattdessen eine numerische Approximation.

In solve (line 305)

Hier ist mein Code:

syms A B Ph Pl 

delta = 0.1; 
mu = 0.02; 
sigma = 0.2; 
w = 1; 
k = 3; 
l = 2; 

beta = (0.5 - mu/sigma^2) + ((mu/sigma^2 - 0.5)^2 + 2*delta/sigma^2)^0.5; 
alpha = -((0.5 - mu/sigma^2) - ((mu/sigma^2 - 0.5)^2 + 2*delta/sigma^2)^0.5); 

eqn1 = (A*(Ph^(-alpha)) + (Ph/delta-mu)) -(B*Ph^beta)-k; 
eqn2 = (A*Pl^(-alpha) + Pl/(delta-mu) -w/delta) - B*Pl^beta + l; 
eqn3 = -alpha*A*(Ph^(-alpha-1)) + 1/(delta-mu) - (beta*B*Ph^(beta-1)); 
eqn4 = alpha*A*Pl^(-alpha-1)- (beta*B*Pl^(beta-1)); 
sol = solve([eqn1==0, eqn2==0, eqn3==0, eqn4==0], [A, B, Ph, Pl]); 
+0

Sollte es eine echte analytische Lösung geben? – David

+0

@David, ich kann jetzt mit der numerischen Lösung arbeiten, aber ich würde gerne lernen, wie man die analytische Lösung berechnet. Danke – Samar

Antwort

1

Matlab sagt Ihnen, es nicht eine analytische Lösung finden, aber es ist auf jeden Fall zu finden, numerische Lösungen, wenn ich es laufen, aber sie sind alle Komplex. Typ:

sol.A 

in Ihrem Befehlsfenster, um zu sehen, wie A aussieht, gleich mit B, Ph und Pl.

+0

Danke! Ich konnte die Ergebnisse sehen. – Samar

Verwandte Themen