In an assignment A(I) = B, the number of elements in B and I must be the same error

1 vue (au cours des 30 derniers jours)
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 d 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 d are stored as the first and fourth elements in C respectively.
C=zeros(100,1);
d1=find(d<=d0);
C(d1)=d;

Réponse acceptée

Image Analyst
Image Analyst le 21 Avr 2015
Almost right. Try this instead:
C=zeros(100,1);
d1 = find(d<=d0);
C(d1)=d(d1);

Plus de réponses (1)

Star Strider
Star Strider le 21 Avr 2015
Modifié(e) : Star Strider le 21 Avr 2015
Using ‘logical indexing’ works well here:
C = zeros(100,1);
d = randi(10, 100, 1);
d0 = mean(d);
C(d<=d0) = d(d<=d0);

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by