Pass one value at a time from a matrix to a for loop

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 Comment

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?

Sign in to comment.

 Accepted Answer

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

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

on 29 Oct 2014

Commented:

on 30 Oct 2014

Community Treasure Hunt

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

Start Hunting!