Pass one value at a time from a matrix to a for loop
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Hi,
I need to pass one value at a time from matrix to iprev inside the for loop. For example, first value of iprev is 11 then 19 and so on. How can I modify my code to do that?
matrix=[11 19 21 29 37 31 45 47 48 54 60 57 66 67 69 86 84 89 111 113 117 120 122 128 139 143 152 161 161 165 170 170];
isemp = all(isnan(ave),1);
for ii = find(isemp)
ave(:,ii) = ave(:,iprev);
end
Any help is appreciated.
Thanks in advance.
1 Commento
Stephen23
il 30 Ott 2014
What is the reason for passing the values "one at a time" from one array to another one? Why not just use indexing to transfer all required values in one go?
Risposta accettata
James Tursa
il 29 Ott 2014
E.g., (caution: code not protected against iprev too large for matrix size)
iprev = 1;
for ii = find(isemp)
ave(:,ii) = ave(:,matrix(iprev));
iprev = iprev + 1;
end
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Loops and Conditional Statements in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!