全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 经管百科 爱问频道
2421 2
2010-08-10
在做空间面板分析时,我想比较一般面板和空间面板的区别,所以就用matlab做起了普通面板分析。但在做普通面板分析时老是出现报错的现象。
panel_d1是自带程序,是可以运行的。其程序为:
clear;
%carga los datos
load datat.txt;      %Judge Example with Balanced Panel
%assign data
y= datat(:,2:3);
id = datat(:,1);
vnames =  ['c',  % Cost
       'y'];  % Output     

% Pooled Estimation
results = ppooled(y);
prt_panel(results,vnames);

% Fixed Effects Estimation
result1 = pfixed(y,id);
prt_panel(result1,vnames);

% Random Effects Estimation
result2 = prandom(y,id);
prt_panel(result2,vnames);

我稍微变动下,编了个panel_d程序,程序为:
clear;
%carga los datos
load ppp.txt;      %Judge Example with Balanced Panel
%assign data
y= ppp(:,2:3:4);%
id =ppp(:,1);
vnames = ['y',
          'x1',
          'x2'];  % Output

% Pooled Estimation
results = ppooled(y);
prt_panel(results,vnames);

% Fixed Effects Estimation
result1 = pfixed(y,id);
prt_panel(result1,vnames);

% Random Effects Estimation
result2 = prandom(y,id);
prt_panel(result2,vnames);
% Haussman Test
phaussman(result1, result2);


运行改程序 就出现了报错提示:
Error using ==> panel_d at 16
Error using ==> vertcat
CAT arguments dimensions are not consistent.


附件里是做面板的m文件,望高手指导!!
附件列表

pool.rar

大小:15.4 KB

 马上下载

二维码

扫码加我 拉你入群

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

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

全部回复
2010-8-11 12:33:43
自己先顶一下!!
二维码

扫码加我 拉你入群

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

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

2011-5-23 17:13:56
1# xupengswordsman 这一行是错的

复制代码



你应该改成:
y=ppp(:,2:4);   

这样你的 第二列到第四列。总共3年的数据,被赋值给 y 变量。用于后面的分析。

matlab  的步长默认是 1
比如有有一个 10*10 的矩阵
A=data(:,2:2:8);                 就是以步长为2将列赋值进去的。默认的不在中间那个给出步长,就是1.这里以2为步长,就是A矩阵的 [2,4,6,8],这4列的向量数据生产到新的A矩阵里。

比如 A=data(:,2:8);           就是步长为1,从第二列到第八列,总共7列赋值给A矩阵。

你的原数据应该是 4列的吧。却这样赋值;
y=ppp(:,2:3:4);  矩阵就溢出了,根本无法到下一个步长 (2+3=5),而你的最后限制是 4.
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群