帮忙看下Matlab程序维数为什么错了,有能力的大大帮改下~~~~~~

来源:百度知道 编辑:UC知道 时间:2024/05/05 15:26:45
帮忙看下Matlab程序维数为什么错了,有能力的大大帮改下~~~~~~
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)'

倒数第三行SSh(h,1)=(sum(SShj'))'; 错了
应该是SSh=(sum(SShj'))';
不过按理说到这里应该就运行不下去了啊,你前面赋过值了?

顺便说一句(sum(SShj'))'这么写看起来很晕啊,你直接用sum(SShj,2)不就完了?