MATLAB:fsolve函数

MATLAB:fsolve函数,matlab,optimization,nonlinear-functions,Matlab,Optimization,Nonlinear Functions,我正在尝试使用“fsolve”进行练习,但还没有完全弄清楚下面的代码到底发生了什么。谁能解释一下吗 function N=productivity1(N,Ac,Aw) global Thetac Thetaw tau a b N=[N(1),N(2)]; N=[N(1)-(Thetac/a)^(1/b)*(1+tau)*Ac; N(2)-(Thetaw/a)^(1/b)*(1+tau)*Aw; N(1)+N(2)-1]; %this meant to be a constraint..

我正在尝试使用“fsolve”进行练习,但还没有完全弄清楚下面的代码到底发生了什么。谁能解释一下吗

function N=productivity1(N,Ac,Aw)
global Thetac Thetaw tau a b
N=[N(1),N(2)];
N=[N(1)-(Thetac/a)^(1/b)*(1+tau)*Ac; 
  N(2)-(Thetaw/a)^(1/b)*(1+tau)*Aw;
  N(1)+N(2)-1]; %this meant to be a constraint...
end

N0=[0.7,0.3]; %initial guess for x
option=optimset('Display','iter');
result=fsolve(@(N)productivity1(N,Ac0,Aw0),N0,option);
详情如下:

Ac=2
Aw=20
Ac和Aw的取值应确保N(1)+N(2)=1,Ac和Aw的起始值不固定

固定参数值

Thetac=0.6
Thetaw=0.6
tau=0.07
a=0.01
b=0.8

无论上述参数值如何,输出都与初始值向量相同。这是我面临的问题

您需要根据描述fsolve()退出条件的返回值exitflag在函数productivity1中添加诊断