Matlab嵌套parfor循环,变量无法分类
Matlab Nested parfor loop , variable cannot be classified
我正在尝试 运行 以下代码,但收到一条错误消息:
The variable R in a parfor cannot be classified
有什么办法解决吗?
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
旧版本的 Matlab 要求 parfor 切片索引是最后一个(较新版本,例如 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]);
我正在尝试 运行 以下代码,但收到一条错误消息:
The variable R in a parfor cannot be classified
有什么办法解决吗?
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
旧版本的 Matlab 要求 parfor 切片索引是最后一个(较新版本,例如 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]);