我通常用for
替换MATLAB代码中的parfor
,但所有2维矩阵都不起作用。
代码
parfor k=1 : n
sonic = data1((1+(k-1)*2400):(2400*k));
signal1 = (sonic(1:2400))./100;
Ar = abs(fftshift(fft(signal1,2400)));
[maxb,ind] = max(b);
Tp(k) = 2*pi/x(ind);
E = @(x)(x^2+1);
for i=1:length(x2)
Ex(i,k) = E(x2(i));
Exm0(i,k) = Ex(i,k)-m0(k);
signal2(i) = Exm0(i,k);
end
epsilong(:,k) = Ar;
end
工作区中只显示Tp(k)
等变量;像Ex(i,k)
这样的二维矩阵不起作用。
答案 0 :(得分:0)
描述嵌套在PARFOR循环中的FOR循环的限制here - 我认为这种情况下的问题是你的循环边界1:length(x2)
。如该页面所述,您应该可以解决这个问题:
len_x2 = length(x2);
parfor k = 1:n
...
for i = 1:len_x2
...
end
end