楼主: fgleric
1754 2

[问答] 一个增长模型 [推广有奖]

  • 5关注
  • 51粉丝

贵宾

副教授

37%

还不是VIP/贵宾

-

威望
1
论坛币
360000 个
通用积分
479.1720
学术水平
294 点
热心指数
310 点
信用等级
226 点
经验
18021 点
帖子
528
精华
0
在线时间
546 小时
注册时间
2007-3-16
最后登录
2020-10-4

楼主
fgleric 发表于 2011-4-8 21:59:56 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
mod文件如下periods 20100;

var c, K, H, q, p;

varexo epsilon;

parameters rho, alpha, gamma, delta, theta, beta;

alpha = 0.36;
gamma = 0.02;
rho   = 0.8;
delta = 0.025;
theta = 2.95;
beta  = 0.99;

model;
c^(-1) = beta*c(+1)^(-1)*(1-delta+alpha*K^(alpha-1)*H(+1)^(1-alpha-gamma)*q^(gamma));

theta = c^(-1)*(1-alpha-gamma)*K^alpha*H^(-alpha-gamma)*q^(gamma);

K = K(-1)^alpha*H^(1-alpha-gamma)*q^(gamma)+(1-delta)*K(-1)-c(-1);

q*(gamma-1)=(gamma*K(-1)^alpha*H^(1-alpha-gamma)*p^(-1));

p = rho*p(-1)*exp(epsilon);

end;

initval;
c       = 1.01245;
K       = 4.2453245;
H       = 0.24352;
q       = 0.5;
p       = 1.2;
epsilon = 0;
end;

shocks;
var epsilon = 0.25^2;
end;

stoch_simul;




然后保存为mod文件后,运行dynare
结果显示如下
??? Error using ==> project
Too many output arguments.

Error in ==> dynare at 132
evalin('base',fname) ;





是怎么回事呢????
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:增长模型 parameters Parameter Arguments paramete 模型

沙发
toyong2010 发表于 2011-4-8 22:07:42
什么东西 啊?看不懂啊,咱们英语太差了

藤椅
matlab-007 发表于 2016-8-14 18:10:39
书上的代码如下:
function [s, phis, ds, dphi, S] = qmin (phi, a, b, delta, epsilon)
s0 = 1; maxj = 20; maxk = 30; big = 1e6; err = 1; k = 1;
S(k) = s0; cond = 0; h = 1; ds = 0.00001;
if (abs (s0) > 1e4),  h = abs(s0) * (1e-4); end
while (k < maxk && err > epsilon && cond ~= 5)
    f1 = (feval (phi, s0 + ds) - feval(phi, s0 - ds)) / (2 * ds)
    if(f1 > 0), h = -abs(h); end
    s1 = s0 + h; s2 = s0 + 2 * h; bars = s0;
    phi0 = feval(phi, s0); phi1 = feval (phi, s1);
    phi2 = feval(phi, s2); barphi = phi0; cond = 0;
    j = 0;
    while (j < maxj && abs (h) > delta && cond == 0)
        if (phi0 <= phi1),
            s2 = s1; phi2 = phi1; h = 0.5 * h;
            s1 = s0 + h; phi1 = feval (phi, s1);
        else if (phi2 < phi1),
                s1 = s2; phi1 = phi2; h = 2 * h;
                s2 = s0 + 2 * h; phi2 = feval (phi, 2);
            else
                 cond = -1;
            end
        end
        j = j + 1;
        
        if (abs (h) > big || abs (s0) > big), cond = 5; end
    end
    if (cond == 5),
        bars = s1; barphi = feval (phi, s1);
    else
        d = 2 * (2 * phi1 - phi0 - phi2);
        if (d < 0),
            barh = h * (4 * phi1 - 3 * phi0 - phi2)/d;
        else
            barh = h / 3; cond = 4;
        end
         bars = s0 + barh; barphi = feval (phi, bars);
         h = abs (h); h0 = abs (barh);
         h1 = abs (barh - h); h2 = abs (barh - 2 * h);
         
         if (h0 < h), h = h0; end
         if (h1 < h), h = h1; end
         if (h2 < h), h = h2; end
         if(h == 0), h = barh; end
         if (h < delta), cond = 1; end
         if (abs (h) > big || abs (bars) > big), cond = 5; end
         err = abs (phi1 - barphi);
         s0 = bars; k = k+1; S(k) = s0;
    end
    if (cond == 2 && h < delta), cond = 3; end
end
s = s0; phis = feval (phi,  s);
ds = h; dphi = err;
end
            
在Matlab中新建一个M文件,名称为qmin
编译时出现如下错误提示:
大意是输出参数太多
仔细检查一下代码,发现命令语句的输出参数中多了一个k参数
将命令语句中的K参数删除,再次运行便可成功输出结果了

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-18 01:56