valid indices for 'output' are restricted in parfor loop
조회 수: 4 (최근 30일)
이전 댓글 표시
Hi,
i have the following code:
for j= 1:100
SNR = list(j);
parfor i = 1:1000
tot = (j-1)*1000+i;
totallist(tot,1) = SNR;
output(tot,1) = awgn(input(tot,1),SNR);
end
end
tot is just the total counter of the full loop
so the full loop contains 100*1000 values.
But why is the output(tot,1) and totallist(tot,1) forbidden?
How can i do it on another way?
댓글 수: 0
채택된 답변
Walter Roberson
2021년 3월 3일
for j= 1:100
SNR = list(j);
base = (j-1)*1000;
parfor i = 1:1000
totallist(base+i,1) = SNR;
output(base+i,1) = awgn(input(base+i,1),SNR);
end
end
"Form of Indexing. Within the first-level of indexing for a sliced variable, exactly one indexing expression is of the form i, i+k, i-k, or k+i. The index i is the loop variable and k is a scalar integer constant or a simple (non-indexed) broadcast variable. Every other indexing expression is a positive integer constant, a simple (non-indexed) broadcast variable, a nested for-loop index variable, colon, or end."
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!