MATLAB中的数组维度不匹配

时间:2012-10-23 19:39:30

标签: matlab

为什么我收到此错误:矩阵G的大小为4x50,我有2个维度可以自由接受数组?

  
    

Beta_Correlations;     ???订阅的分配维度不匹配。

  

==>中的错误Beta_Correlations为28          Correl_betas(J,K,L,:,:)= G;

Correl_betas=zeros(50,50,size(rates,1),4);
mats=[1:50]';
L1=-1;

for j=1:51
    L1=L1+1;
    L2=-1;
    for k=1:51
        L2=L2+1;
        for l=1:size(rates,1)


        y2=rates(l,mats2);

        yM=rates(l,:);


     dataList=struct('yM',yM,'mats',mats,'model',@NSS,'mats2',mats2,'y2',y2);
     lambda=[ L1; L2 ];   


    nObs=size(mats,1);
    G= [ones(nObs,1) (1-exp(-mats./lambda(1)))./(mats./lambda(1)) ((1-exp(-mats./lambda(1)))./(mats./lambda(1))-exp(-mats./lambda(1))) ((1-exp(-mats./lambda(2)))./(mats./lambda(2))-exp(-mats./lambda(2)))];




     Correl_betas(j,k,l,:,:)=G;
     check1=Correl_betas(1,1,1,:);
        end

    end
end

2 个答案:

答案 0 :(得分:2)

这里不匹配

 Correl_betas=zeros(50,50,size(rates,1),4);  %4 par
 Correl_betas(j,k,l,:,:)=G;                  %5 par

答案 1 :(得分:0)

算了,我明白了,只需要调整数组参数的数量!