Matlab嵌套parfor循环,变量不能分类

时间:2015-01-22 13:30:28

标签: matlab

我正在尝试运行以下代码,但收到错误消息:

  

parfor中的变量R不能分类

有什么方法可以解决它吗?

R=zeros(M,N,Us,Vs,'single');
parfor indM=1:M   
    for indN=1:N
        for indv=1:Vs           
           temp=squeeze(X(indM,indN,:,indv));          
           if(sum(temp(:)~=0))
             R(indM,indN,:,indv)= FractionalFFT_mid0(temp,a);    
           end
        end
    end
end

1 个答案:

答案 0 :(得分:1)

较旧版本的Matlab要求parfor-sliced索引是最后一个版本(较新的版本,例如2014b不再具有要求)。

R=zeros(N,Us,Vs,M,'single');
parfor indM=1:M   
    for indN=1:N
        for indv=1:Vs           
           temp=squeeze(X(indM,indN,:,indv));          
           if(sum(temp(:)~=0))
             R(indN,:,indv,indM)= FractionalFFT_mid0(temp,a);    
           end
        end
    end
end

%# get R back the way you wanted originally
R = permute(R,[4 1 2 3]);