How to vectorize this for loop

1 Ansicht (letzte 30 Tage)
Master Blabla
Master Blabla am 19 Nov. 2020
Bearbeitet: Master Blabla am 19 Nov. 2020
How to vectorize this for loop
%%% F is array of float
%%% SD is two dimension array of float
for i=1:10
F(i) = SD(i,:);
end
  3 Kommentare
Star Strider
Star Strider am 19 Nov. 2020
Master Blabla
Master Blabla am 19 Nov. 2020
Bearbeitet: Master Blabla am 19 Nov. 2020
F

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Walter Roberson
Walter Roberson am 19 Nov. 2020
Fea = Fin( sub2ind(size(Fin), SD(1:10,:), 20*ones(10, size(SD,2))));
However, your original code would have failed. Your SD is 2d, so SD(i,:) would have been a vector of values, and indexing FD() with a vector of row indices and one column index would return a vector of values rather than a single value -- and so you would not be able to store it into the scalar location Fea(i) .
The only way for your code to work would be if SD were a column vector instead of a 2D array.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by