我正在尝试使用'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
无论上述参数的值如何,输出都与初始值的矢量相同。这是我面临的问题。
答案 0 :(得分:0)
您需要根据描述fsolve(http://nl.mathworks.com/help/optim/ug/fsolve.html)退出条件的返回值exitflag在函数productivity1中添加诊断。