Pass one value at a time from a matrix to a for loop
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Damith
am 29 Okt. 2014
Kommentiert: Stephen23
am 30 Okt. 2014
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 Kommentar
Stephen23
am 30 Okt. 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?
Akzeptierte Antwort
James Tursa
am 29 Okt. 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
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements 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!