全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
9255 7
2012-08-16
比如有一个143*4矩阵,每次想通过循环语句调用X(143,4)中的多行数据,为何不能实现(代码附在下方),请大家帮忙看下,谢谢!
>>n=0:12;
>> X=rand(143,4);
>> C=ones(11,1);
>> for n=0:12
       i=11*n
       j=1:4
   Xj=[X((1+11*n):(11+11*n)),j;C];
   end
i =
     0

j =
     1     2     3     4

??? Error using ==> vertcat
CAT arguments dimensions are not consistent.
二维码

扫码加我 拉你入群

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

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

全部回复
2012-8-16 10:22:00
for里面的语句改成以下形式,好像还是不行
>> for n=0:12
i=11*n
j=1:4
Xj=[X((1+i):(11+i)),j;C];
end
二维码

扫码加我 拉你入群

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

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

2012-8-16 22:17:41
提示: 作者被禁止或删除 内容自动屏蔽
二维码

扫码加我 拉你入群

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

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

2012-8-17 14:32:36
遥远的生命 发表于 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这样的,不知道应如何操作?可以帮忙看一下吗,谢谢!
二维码

扫码加我 拉你入群

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

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

2012-8-17 19:01:25
提示: 作者被禁止或删除 内容自动屏蔽
二维码

扫码加我 拉你入群

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

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

2012-8-23 12:01:18
看到这个贴,突然赶脚飘飘然,还要再努力
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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