遥远的生命 发表于 2012-8-16 22:17 
额,昨天问题不是解决了吗?
Xj=[X((1+i):(11+i)),j;C];
这个写法真要命
这是我新的代码,运行起来可以,但跟我想要的结果有点差距
>> Y=PRTNnew; %143*1的矩阵
>> X=[LPRTN,GRON]; %143*2矩阵
>> C=ones(11,1); %新定义11*1矩阵
>> for n=0:12
i=11*n;
for j=1:13
Xj=X(1+i:11+i,:); %每次循环的结果赋给Xj
Xj=[Xj,C]; %得到11*3的矩阵
Yj=Y(1+i:11+i,:); %Yj为11*1的矩阵
[b(:,:,n+1),bint(:,:,n+1),r(:,:,n+1),stats(:,:,n+1)]=regress(Yj,Xj); %进行回归并得到相应统计量和参数
根据上面的代码,得到的是13组r为11*1的矩阵和stats为11*2的矩阵。但现在有个问题就是想通过struct语句如D{j}.origin=Xj是来分开保存每次j取不同值的Xj的数据,在语句最后加上这一句的时候程序运行系统提示只能出一个结果,“??? This index expression yields only one result. ” 不知为何。另外,就是想把Yj值,b,bint,r,rint,stats这些都保存成独立的数组,形如D{1}.actual=Y1;D{2}.actual=Y2;...;D{13}.actual=Y13这样的,不知道应如何操作?可以帮忙看一下吗,谢谢!