Index exceeds matrix dimensions error.

1 visualización (últimos 30 días)
ajk1
ajk1 el 21 de Abr. de 2015
Comentada: ajk1 el 21 de Abr. de 2015
Hi, I would like to know how to change the 0's in C that are in the same position where d1 finds values where (d<=d0) with the corresponding d2 value. d is a 100x1 array and d0 is the mean value. For instance if the first and fourth elements in d are less than d0, then the first and fourth elements in d2 are stored as the first and fourth elements in C respectively.
C=zeros(100,1);
d = randi(10, 100, 1);
d0 = mean(d);
d1=find(d<=d0);
d2 = randi(10, length(d1), 1);
C(d1)=d2(d1);

Respuesta aceptada

Adam
Adam el 21 de Abr. de 2015
You should just be able to replace that last line with
C(d1)=d2;
You have already trimmed d2 to the size of d1 in the previous line.

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by