带有fsolve的无限循环

时间:2014-08-26 15:30:24

标签: matlab infinite-loop

我正在处理以下功能:

function opemployment=eqns(unknown);
global kappa theta lgamma beta r delta s x b e gamma v;
varphi=unknown(1);
h=unknown(2);
opemployment(1)=(h^(gamma-1))*((1-kappa)*((lgamma*(varphi^beta))/(gamma*kappa*beta+1-kappa))*h^(gamma*beta-gamma)-(r+delta+s)*(s^(gamma-1))*x^(-gamma));
opemployment(2)=(1-kappa)*(b-e+(kappa/(1-kappa))*theta*v^(gamma-1));

并使用以下命令调用该函数:

close all; clear all;
global kappa theta lgamma beta r delta s x b e gamma v;
kappa = 0.1; theta = 0.5; lgamma = 0.3; beta = 0.5; r = 0.33; delta = 0.91; s = 0.4; x = 0.6; b = 0.4; e = 0.5; gamma = 0.5 ; v = 0.4;
while kappa < 1 && theta < 1 && lgamma < 1 && beta < 1 && r < 1 && delta < 1 && s < 1 && x < 1 && b < 1 && e < 1 && gamma < 1 && v < 1 
    guess = [0,1];
    sol=fsolve('eqns',guess)
    mat = [sol]
    kappa=+0.1;
    theta=+0.1;
    lgamma=+0.1;
    beta=+0.1;
    r=+0.1;
    delta=+0.1;
    s=+0.1;
    x=+0.1;
    b=+0.1;
    e=+0.1;
    gamma=+0.1
    v=+0.1;
end   

为什么我会遇到无限循环?我想要实现的是运行fsolve一段时间,每次fsolve运行时将结果存储在一个单独的矩阵中作为一个新行,然后从中绘制一个图形(但是要添加这一行)。

提前致谢。

0 个答案:

没有答案