Pass one value at a time from a matrix to a for loop
    2 visualizzazioni (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!


