유전 알고리즘을 실행 중이며 인구 생성을 병렬 처리하려고합니다. 내 실제 코드 :인구 생성에 관한 Parfor 문제
Q = [];
parfor i=1:halfPop
pa = P(select(f),:);
pb = P(select(f),:);
...
Q = [Q; pa; pb];
end
매트랩 나에게 오류 parfor의 임시 변수 Q를 제공 초기화되지 않은 것입니다.
Q = [];
parfor i=1:halfPop
pa = P(select(f),:);
pb = P(select(f),:);
Q(i,:) pa;
Q(i+halfPop,:) pb;
end
을하지만 지금은 오류 parfor의 변수 Q 분류 할 수없는 얻을 :
그래서 나는이처럼 다시 썼다.. 에디터에서 MATLAB은 parfor 내부의 같은 행렬에 두 가지 다른 방법으로 인덱스 할 수 없다고 말합니다.
어떻게해야합니까?
같은 단일 피연산자로 연결을 할 경우이 있나요 왜'parfor' 루프 내에서 작동합니다 시도하고있는 "연결 감소"? '선택'은 많은 시간을 필요로하는 함수인가? 그렇지 않다면'for'-loop가 실제로 빠를 수도 있습니다. – Jonas
글쎄, 나는 질문을하기위한 코드를 단순화했다. 실제로 두 가지 다른 시간 소모적 인 일이있다. – Enoon