0
나는 일반적으로 parfor
으로 MATLAB 코드의 for
을 대체하지만 2 차원 매트릭스는 모두 작동하지 않습니다.MATLAB parfor 순환에서 행렬을 출력하는 방법은 무엇입니까?
코드
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)
과 같은 2 차원 행렬이 작동하지 않았습니다.
도움 주셔서 감사합니다. 루프 경계에 관해서는, PARFOR에 대한 MATLAB 문서는 [link] (http://www.mathworks.cn/cn/help/distcomp/parfor.html)로 기술되어 있는데, parfor i = 1 : length (A) B (i) = f (A (i)); 끝. 행렬 문제를 풀기 위해서, 저는 루프 밖에서 행렬을 정의해야한다고 생각합니다. 그러나 문제는 루프에서 변수를 전달하는 방법입니다. – Garbiel