How to vectorize this for loop
Afficher commentaires plus anciens
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 commentaires
David Hill
le 19 Nov 2020
You need to provide the Fin() function. With a loop of only 10, why do you want to vectorize?
Star Strider
le 19 Nov 2020
Related: Vectorize two for loops
Master Blabla
le 19 Nov 2020
Modifié(e) : Master Blabla
le 19 Nov 2020
Réponses (1)
Walter Roberson
le 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.
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!