valid indices for 'output' are restricted in parfor loop

3 visualizaciones (últimos 30 días)
soepblik
soepblik el 3 de Mzo. de 2021
Editada: soepblik el 3 de Mzo. de 2021
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?

Respuesta aceptada

Walter Roberson
Walter Roberson el 3 de Mzo. de 2021
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."
  1 comentario
soepblik
soepblik el 3 de Mzo. de 2021
Editada: soepblik el 3 de Mzo. de 2021
ahh thanks for the clear explanation! It is working now

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by