在MATLAB中求解多个非线性方程组

时间:2016-03-20 23:42:48

标签: matlab

您好我是MATLAB的新手。我试图解决这些方程式,以获得分析解决方案或以数字方式解决它们。对于分析解决方案,我收到以下错误:

警告:无法以符号方式解决。改为返回数值近似值。

  

在解决(第305行)

这是我的代码:

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]);

1 个答案:

答案 0 :(得分:1)

Matlab告诉你它无法找到解析解决方案,但是当我运行它时肯定会找到数值解,但是,它们都很复杂。类型:

sol.A

在命令窗口中查看A的外观,与B,Ph和Pl相同。