声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 879|回复: 2

[编程技巧] Index exceeds matrix dimensions程序维数为什么错了

[复制链接]
发表于 2009-4-29 16:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
function   [ Qhj,Qh,prey]=crossval7(X,Y)      
          %px是自变量的个数;
          %py是因变量的个数;
     
       [C,px,py]=fun1(X,Y);
       PRESShj=zeros(px,py);
       c=norm1(C);
       X=c(:,1:px);
       Y=c(:,px+1:px+py);
       x=norm1(X);
       y=norm1(Y);
       [line,row]=size(x);
     for h=1:px
           for j=1:line
               newx=X;
               newy=Y;
               newx(j,:)=[];
               newy(j,:)=[];
              [t,p0,w,wh,f0,FF]=fun717(px,py,[newx,newy]);
              prey(j,:,h)=X(j,:)*FF(:,2:px+1,h)'+FF(:,1,h)';                                 
           end
           PRESShj(h,:)=sum((Y-prey(:,:,h)).^2);
      end
         PRESSh=(sum(PRESShj'))';
      
      for h=1:px
          [t1,p0,w,wh,f0,FF]=fun717(px,py,c);
     prey2(:,:,h)=X(:,:)*FF(:,2:px+1,h)'+ones(line,1)*FF(:,1,h)';      
          SShj(h,:)=sum((Y-prey2(:,:,h)).^2);
       end
              SSh(h,1)=(sum(SShj'))';
              Qhj=ones(px-1,py)-PRESShj(2:px,:)./SShj(1:px-1,:); % 错位
              Qh=ones(px-1,1)-PRESSh(2:px,1)./SSh(1:px-1,1); 这里错了

??? Index exceeds matrix dimensions.

Error in ==> crossval7 at 33
              Qh=ones(px-1,1)-PRESSh(2:px,1)./SSh(1:px-1,1);

[ 本帖最后由 ChaChing 于 2009-4-29 21:49 编辑 ]
回复
分享到:

使用道具 举报

发表于 2009-4-29 16:36 | 显示全部楼层
检查一下PRESSh和SSh的长度是不是小于px

评分

1

查看全部评分

 楼主| 发表于 2009-4-29 17:34 | 显示全部楼层
:handshake 我试试去
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-6-28 02:50 , Processed in 0.057884 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表