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

2 Ansichten (letzte 30 Tage)
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;

Akzeptierte Antwort

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

Weitere Antworten (1)

Star Strider
Star Strider am 21 Apr. 2015
Bearbeitet: Star Strider am 21 Apr. 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);

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by