2016-03-20 47 views
0

こんにちは、私はMATLABを初めて使っています。私はこれらの方程式を解いて解析的解を得たり数値的に解決しようとしていました。分析ソリューションについては、次のエラーが発生します。MATLABで複数の非線形方程式を解く

警告:記号的に解決できません。代わりに数値近似を返します。ここで

In solve (line 305)

は私のコードです:

Matlabのは、それが解析解を見つけることができないあなたを語っているが、私はそれを実行すると、それは間違いなく数値解を見つけることです、しかし、彼らはすべてのだ
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

実数型の解析ソリューションが必要ですか? – David

+0

@David、私は数値解を使って作業することができますが、解析解を計算する方法を学びたいと思います。おかげで – Samar

答えて

1

複合体。タイプ:

sol.A 

コマンドウィンドウで、A、B、Ph、Plと同じように見えます。

+0

ありがとう!私は結果を見ることができました。 – Samar