楼主: xupengswordsman
2467 2

[经济] matlab 做面板分析时出现报错情形 怎样解决? [推广有奖]

  • 6关注
  • 16粉丝

已卖:374份资源

教授

45%

还不是VIP/贵宾

-

威望
0
论坛币
4427 个
通用积分
49.4523
学术水平
36 点
热心指数
48 点
信用等级
26 点
经验
106302 点
帖子
1020
精华
0
在线时间
1521 小时
注册时间
2007-12-30
最后登录
2026-1-2

楼主
xupengswordsman 发表于 2010-8-10 22:30:16 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
在做空间面板分析时,我想比较一般面板和空间面板的区别,所以就用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文件,望高手指导!!
二维码

扫码加我 拉你入群

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

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

关键词:MATLAB matla atlab Mat Atl MATLAB 面板 解决 情形

xupeng

沙发
xupengswordsman 发表于 2010-8-11 12:33:43
自己先顶一下!!
xupeng

藤椅
tulipsliu 在职认证  发表于 2011-5-23 17:13:56
1# xupengswordsman 这一行是错的

  1. y= ppp(:,2:3:4);%
复制代码



你应该改成:
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.
劳动经济学

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

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-3 12:10