필터 지우기
필터 지우기

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

조회 수: 1 (최근 30일)
Damith
Damith 2014년 10월 29일
댓글: Stephen23 2014년 10월 30일
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
Stephen23
Stephen23 2014년 10월 30일
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?

댓글을 달려면 로그인하십시오.

채택된 답변

James Tursa
James Tursa 2014년 10월 29일
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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by