楼主: becauseofuu
1634 4

[DSGE讨论专题] Dynare报错求教大佬 [推广有奖]

  • 5关注
  • 4粉丝

本科生

13%

还不是VIP/贵宾

-

威望
0
论坛币
443 个
通用积分
7.2496
学术水平
5 点
热心指数
5 点
信用等级
5 点
经验
753 点
帖子
48
精华
0
在线时间
98 小时
注册时间
2016-9-8
最后登录
2022-5-24

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
matlab和DSGE小白一枚,运行一些文献附录的MOD文件老是报错。下面两个错误原因是什么呢?
1、ERROR: multisector.mod: line 202, col 7 - line 206, col 0: syntax error, unexpected $end
202行是      quit cancel;
2、ERROR: hedsge2.mod: line 105, col 32: syntax error, unexpected NAME, expecting COMMA
105行是stderr Eps_z,inv_gamma2_pdf,0.0l,inf;
谢谢大佬
二维码

扫码加我 拉你入群

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

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

关键词:dynare ARE Multisector Unexpected Expected

已有 1 人评分经验 论坛币 收起 理由
linmengmiki + 100 + 100 鼓励积极发帖讨论

总评分: 经验 + 100  论坛币 + 100   查看全部评分

沙发
ahnulxy 发表于 2020-2-16 10:54:41 |只看作者 |坛友微信交流群
要上传整个mod文件才行,否则很难判断
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
becauseofuu + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

藤椅
becauseofuu 学生认证  发表于 2020-2-19 15:01:48 |只看作者 |坛友微信交流群
ahnulxy 发表于 2020-2-16 10:54
要上传整个mod文件才行,否则很难判断
老师,第一个是王佳的七部门模型代码。他的代码好像不是常规的分块式的。麻烦您帮忙看看,谢谢老师!
a11=0.141;a21=0.00268;a31=0.054;a41=0.00002;a51=0.00335;a61=0.012;a71=0.015;
a12=0.0007;a22=0.075;a32=0.068;a42=0.127;a52=0.0115;a62=0.00475; a72=0.0019;
a13=0.199;a23=0.255;a33=0.550;a43=0.151;a53=0.478;a63=0.322; a73=0.221;
a14=0.0096;a24=0.084;a34=0.029;a44=0.347;a54=0.01189;a64=0.013; a74=0.0184;
a15=0.00044;a25=0.00184;a35=0.0025;a45=0.00078;a55=0.0122;a65=0.00655;a75=
0.0226; a16=0.0157;a26=0.0415;a36=0.022;a46=0.0117;a56=0.06167;a66=0.068;
a76=0.0362; a17=0.0475;a27=0.0667;a37=0.059;a47=0.0782;a57=0.0748;a67=0.112;
a77=0.162; hh=[a11 a12 a13 a14 a15 a16 a17;a21 a22 a23 a24
a25 a26 a27;a31 a32 a33 a34 a35 a36 a37;a41 a42 a43 a44 a45 a46
a47;a51 a52 a53 a54 a55 a56 a57;a61 a62 a63 a64 a65 a66 a67;a71 a72 a73 a74 a75
a76 a77]; beta=0.99; delta=0.025; mui=0.78;
thi1=1;thi2=0.0134;thi3=3.2349;thi4=0.2295;thi5=0.7703;thi6=0.2128; thi7= 3.2533;
d1=0.556;d2=0.167;d3=0.069;d4=0.072;d5=0.113;d6=0.119; d7=0.218; dd=[d1; d2;
d3; d4; d5; d6;d7];
b13=0.00565;b23=0.094;b33=0.071;b43=0.089;b53=0.007;b63=0.0616; b73=0.0457;
b15=0.025;b25=0.21;b35=0.074;b45=0.123;b55=0.226;b65=0.28; b75=0.259;
b3=[b13; b23; b33; b43; b53; b63; b73]; b5=[b15; b25; b35; b45; b55; b65; b75];
W1=0.3562;W2=0.0063;W3=0.1356;W4=0.114;W5=0.1466;W6=0.1371; W7=0.4847;
T11=beta*thi1*a11*W1/(thi1*W1); T12=beta*thi1*a12*W2/(thi2*W1);
T13=beta*thi1*a13*W3/(thi3*W1); T14=beta*thi1*a14*W4/(thi4*W1);
T15=beta*thi1*a15*W5/(thi5*W1); T16=beta*thi1*a16*W6/(thi6*W1);
T17=beta*thi1*a17*W7/(thi7*W1); T21=beta*thi2*a21*W1/(thi1*W2);
T22=beta*thi2*a22*W2/(thi2*W2); T23=beta*thi2*a23*W3/(thi3*W2);
T24=beta*thi2*a24*W4/(thi4*W2); T25=beta*thi2*a25*W5/(thi5*W2);
T26=beta*thi2*a26*W6/(thi6*W2); T27=beta*thi2*a27*W7/(thi7*W2);
T31=beta*thi3*a31*W1/(thi1*W3); T32=beta*thi3*a32*W2/(thi2*W3);
T33=beta*thi3*a33*W3/(thi3*W3); T34=beta*thi3*a34*W4/(thi4*W3);
T35=beta*thi3*a35*W5/(thi5*W3); T36=beta*thi3*a36*W6/(thi6*W3);
T37=beta*thi3*a37*W7/(thi7*W3); T41=beta*thi4*a41*W1/(thi1*W4);
T42=beta*thi4*a42*W2/(thi2*W4); T43=beta*thi4*a43*W3/(thi3*W4);T44=beta*thi4*a44*W4/(thi4*W4); T45=beta*thi4*a45*W5/(thi5*W4);
T46=beta*thi4*a46*W6/(thi6*W4); T47=beta*thi4*a47*W7/(thi7*W4);
T51=beta*thi5*a51*W1/(thi1*W5); T52=beta*thi5*a52*W2/(thi2*W5);
T53=beta*thi5*a53*W3/(thi3*W5); T54=beta*thi5*a54*W4/(thi4*W5);
T55=beta*thi5*a55*W5/(thi5*W5); T56=beta*thi5*a56*W6/(thi6*W5);
T57=beta*thi5*a57*W7/(thi7*W5); T61=beta*thi6*a61*W1/(thi1*W6);
T62=beta*thi6*a62*W2/(thi2*W6); T63=beta*thi6*a63*W3/(thi3*W6);
T64=beta*thi6*a64*W4/(thi4*W6); T65=beta*thi6*a65*W5/(thi5*W6);
T66=beta*thi6*a66*W6/(thi6*W6); T67=beta*thi6*a67*W7/(thi7*W6);
T71=beta*thi7*a71*W1/(thi1*W7); T72=beta*thi7*a72*W2/(thi2*W7);
T73=beta*thi7*a73*W3/(thi3*W7); T74=beta*thi7*a74*W4/(thi4*W7);
T75=beta*thi7*a75*W5/(thi5*W7); T76=beta*thi7*a76*W6/(thi6*W7);
T77=beta*thi7*a77*W7/(thi7*W7);
M13=beta*thi1*b13*W3/[[1-beta*(1-delta)]*W1*thi3];
M23=beta*thi2*b23*W3/[[1-beta*(1-delta)]*W2*thi3];
M33=beta*thi3*b33*W3/[[1-beta*(1-delta)]*W3*thi3];
M43=beta*thi4*b43*W3/[[1-beta*(1-delta)]*W4*thi3];
M53=beta*thi5*b53*W3/[[1-beta*(1-delta)]*W5*thi3];
M63=beta*thi6*b63*W3/[[1-beta*(1-delta)]*W6*thi3];
M73=beta*thi7*b73*W3/[[1-beta*(1-delta)]*W7*thi3];
M15=beta*thi1*b15*W5/[[1-beta*(1-delta)]*W1*thi5];
M25=beta*thi2*b25*W5/[[1-beta*(1-delta)]*W2*thi5];
M35=beta*thi3*b35*W5/[[1-beta*(1-delta)]*W3*thi5];
M45=beta*thi4*b45*W5/[[1-beta*(1-delta)]*W4*thi5];
M55=beta*thi5*b55*W5/[[1-beta*(1-delta)]*W5*thi5];
M65=beta*thi6*b65*W5/[[1-beta*(1-delta)]*W6*thi5];
M75=beta*thi7*b75*W5/[[1-beta*(1-delta)]*W7*thi5];
n1s=0.103;n2s=0.004; n3s=0.062; n4s=0.002; n5s=0.013; n6s=0.012; n7s=0.081;
nbar= [n1s;n2s; n3s; n4s; n5s; n6s;n7s];
edd = diag(dd);nb = diag(nbar./(ones(7,1)*0.722))+eye(7)-edd;
h7 = [eye(7), zeros(7); zeros(7), nb];
mm = zeros(7, 7*7);
for ii = 1:7
mm(ii, (ii-1)*7+1:ii*7)=hh(ii,:);
end
nn=zeros(7,14);
nn(:,1:7)=diag(b3);
nn(:,8:14)=diag(b5);
h8= [zeros(7,7*7), zeros(7,14),-eye(7); mm, nn, eye(7)];
h9=[zeros(7,7); eye(7)];
h1=zeros(70,70);
bb3=b3-ones(7,1);
bb5=b5-ones(7,1);
n2n=[[diag(bb3) diag(b5)];[diag(b3) diag(bb5)]];
m2m=[mm;mm];
px=[eye(7);eye(7)];
pp=zeros(14,7);
pp(1:7,3)=beta*(1-delta)/[1-beta*(1-delta)];
pp(8:14,5)=beta*(1-delta)/[1-beta*(1-delta)];
pp=pp+px;
h1(1:14,:)=[m2m n2n pp];
pj =[diag(b3) diag(b5)];
for ii = 3:9
nu = zeros(7,7^2);
for jj=1:7
nu (jj,(jj-1)*7+ii-2)=1;
end
h1((ii-1)*7+1:ii*7,:)=[mm-nu, pj,eye(7)];
endTT=[T11 T21 T31 T41 T51 T61 T71; T12 T22 T32 T42 T52 T62 T72; T13 T23 T33
T43 T53 T63 T73; T14 T24 T34 T44 T54 T64 T74; T15 T25 T35 T45 T55 T65 T75;
T16 T26 T36 T46 T56 T66 T76; T17 T27 T37 T47 T57 T67 T77];
pw=zeros(7,49);
for ii = 1:7
pw(:,(ii-1)*7+1:ii*7)=diag(TT(:,ii));
end
py=zeros(7,14);
py(3,1:7)=[M13 M23 M33 M43 M53 M63 M73];
py(5,8:14)=[M15 M25 M35 M45 M55 M65 M75];
h1(64:70,:)=[pw py zeros(7)];
h4 = zeros(70);
hp=zeros(14,7);
hp(1:7,3)=1/(1-beta*(1-delta));
hp(8:14,5)=1/(1-beta*(1-delta));
h4(1:14,64:70)=hp;
hq=zeros(49,7);
hhq=ones(7);
for ii = 1:7
hq((ii-1)*7+1:ii*7,ii)=hhq(:,ii);
end
h4(15:63, 64:70)=hq;
hyy=zeros(7,14);
hyy(3,1:7)= (1-delta)* [M13 M23 M33 M43 M53 M63 M73];
hyy(5,8:14)= (1-delta)* [M15 M25 M35 M45 M55 M65 M75];
hy=hyy+nn;
h4(64:70,:)=[mm hy zeros(7)];
h10= mui*eye(7);
dc1=[diag(dd); diag(dd);];
dc2=[diag(dd); diag(dd); diag(dd); diag(dd); diag(dd); diag(dd); diag(dd)];cx=[W1 W2 W3 W4 W5 W6 W7];
cx=diag(cx);
h5=zeros(70,14);
h5(64:70,:)=[-cx diag(dd)];
h2= zeros(70,14);
h2(1:14,8:14)=dc1;
h2(15:63, 8:14)=dc2;
h3=[ eye(7);eye(7); eye(7); eye(7); eye(7); eye(7); eye(7); eye(7); eye(7);zeros(7,7)];
h6=[zeros(14,7);zeros(49,7);eye(7)];
A0=[inv(h1+h2*inv(h7)*h8)]*[h4+h5*inv(h7)*h8];
B0=[inv(h1+h2*inv(h7)*h8)]*[h5*inv(h7)*h9+h6-(h2*inv(h7)*h9+h3)*h10];
sxc =[h10 zeros(7,70); B0 A0];
eeg = zeros(70,7);
eeg(1:7,:)=eye(7);
[p, vmu] = eig(sxc);
d = diag(vmu);
p = sortrows([abs(d),d,p']);
vmu = diag(p(:,2));
p = p(:,3:77+2);
p = p';
ps = inv(p);
sxcs = p*vmu*ps;
diff = sum(sum(abs(sxcs-sxc)));
if ( diff > 0.0017)
'Eigenvalue decomposition of sxc is incorecct.'
quit cancel;
end
lamx = -inv(ps(71:77,71:77))*ps(71:77,1:70);
xlx = sxc(1:70,1:70)+sxc(1:70,71:77)*lamx;
scn=inv(h7)*[h9 h8];cnx = scn(:,1:70)+scn(:,71:77)*lamx;
yyx = [eye(7), mm, nn]+[zeros(7),diag(dd)]*cnx;
rxlx = real(xlx);
ryyx = real(yyx);
n = 60;
for j = [1 2 3 4 5 6 7]
zz = zeros(70,n);
eee = zeros(7,1);
eee(j,1)=1;
zz(:,1) =eeg*eee;
i = 2;
while (i<=n);
zz(:, i) = rxlx*zz(:,i-1);
i = i+1;
end;
zz = ryyx*zz;
t=1:60;
y=0.0597*zz(1,:)+0.0356*zz(2,:)+0.5519*zz(3,:)+0.0412*zz(4,:)+0.0946*zz(5,:)+0.038
7*zz(6,:)+ 0.1782*zz(7,:);
zz=[zz;
y];
zz = zz';
switch(j);
case 1,
figure(j);
plot(t,zz(:,1), '- s', t,zz(:,2), '-.', t,zz(:,3), '--', t,zz(:,4), '-x', t,zz(:,5), '-',
t,zz(:,6), '-^',
t,zz(:,7), '--.', t,zz(:,8), ':');
legend('农林牧渔业', '采矿业', '制造业', '电力、燃气及水的生产与供应业', '建筑业和
房地产业', '交通运输及仓储业', '其他服务业', '总产出');
case 2
figure(j);
plot(t,zz(:,1), '- s', t,zz(:,2), '-.', t,zz(:,3), '--', t,zz(:,4), '-x', t,zz(:,5), '-',
t,zz(:,6), '-^',
t,zz(:,7), '--.', t,zz(:,8), ':');
legend('农林牧渔业', '采矿业', '制造业', '电力、燃气及水的生产与供应业', '建筑业

房地产业', '交通运输及仓储业', '其他服务业', '总产出');
case 3
figure(j);
plot(t,zz(:,1), '- s', t,zz(:,2), '-.', t,zz(:,3), '--', t,zz(:,4), '-x', t,zz(:,5), '-',
t,zz(:,6), '-^',
t,zz(:,7), '--.', t,zz(:,8), ':');
legend('农林牧渔业', '采矿业', '制造业', '电力、燃气及水的生产与供应业', '建筑业

房地产业', '交通运输及仓储业', '其他服务业', '总产出');
case 4
figure(j);
plot(t,zz(:,1), '- s', t,zz(:,2), '-.', t,zz(:,3), '--', t,zz(:,4), '-x', t,zz(:,5), '-',
t,zz(:,6), '-^',
t,zz(:,7), '--.', t,zz(:,8), ':');
legend('农林牧渔业', '采矿业', '制造业', '电力、燃气及水的生产与供应业', '建筑业

房地产业', '交通运输及仓储业', '其他服务业', '总产出');
case 5
figure(j);
plot(t,zz(:,1), '- s', t,zz(:,2), '-.', t,zz(:,3), '--', t,zz(:,4), '-x', t,zz(:,5), '-',
t,zz(:,6), '-^',t,zz(:,7), '--.', t,zz(:,8), ':');
legend('农林牧渔业', '采矿业', '制造业', '电力、燃气及水的生产与供应业', '建筑业

房地产业', '交通运输及仓储业', '其他服务业', '总产出');
case 6
figure(j);
plot(t,zz(:,1), '- s', t,zz(:,2), '-.', t,zz(:,3), '--', t,zz(:,4), '-x', t,zz(:,5), '-',
t,zz(:,6), '-^',
t,zz(:,7), '--.', t,zz(:,8), ':');
legend('农林牧渔业', '采矿业', '制造业', '电力、燃气及水的生产与供应业', '建筑业
和 房
地产业', '交通运输及仓储业', '其他服务业', '总产出');
case 7
figure(j);
plot(t,zz(:,1), '- s', t,zz(:,2), '-.', t,zz(:,3), '--', t,zz(:,4), '-x', t,zz(:,5), '-',
t,zz(:,6), '-^',
t,zz(:,7), '--.', t,zz(:,8), ':');
legend('农林牧渔业', '采矿业', '制造业', '电力、燃气及水的生产与供应业', '建筑业

房地产业', '交通运输及仓储业', '其他服务业', '总产出');
otherwise
quit cancel;
end
end

使用道具

板凳
ahnulxy 发表于 2020-2-20 04:28:19 |只看作者 |坛友微信交流群
这显然不是标准的mod文件。所以Dynare直接编译运行肯定出错。
我不是很了解他这是什么格式,可能是matlab 的m文件,你直接在Matlab里面运行看看。不要使用dynare命令

使用道具

报纸
becauseofuu 学生认证  发表于 2020-2-20 10:33:16 |只看作者 |坛友微信交流群
ahnulxy 发表于 2020-2-20 04:28
这显然不是标准的mod文件。所以Dynare直接编译运行肯定出错。
我不是很了解他这是什么格式,可能是matlab  ...
好的,谢谢老师

使用道具

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

本版微信群
加JingGuanBbs
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 10:29