필터 지우기
필터 지우기

How do I break a complex loop with a multiple-if structure?

조회 수: 2 (최근 30일)
GEORGIOS BEKAS
GEORGIOS BEKAS 2017년 10월 18일
편집: Matt J 2017년 10월 18일
I am writing a code that has the following form:
for i = 1:size(interiorcolumns,1)
if interiorcolumns{i}(6) == heightsmatrix(1)
condition 1
elseif interiorcolumns{i}(6) == heightsmatrix(2)
condition 2
elseif interiorcolumns{i}(6) == heightsmatrix(3)
condition 3
elseif interiorcolumns{i}(6) == heightsmatrix(4)
condition 4
elseif interiorcolumns{i}(6) == heightsmatrix(5)
condition 5
else
condition 6
end
end
When the heightsmatrix, is smaller than six row elements, I want the redundant if statements not to be taken into account. How can I do that?

채택된 답변

Matt J
Matt J 2017년 10월 18일
편집: Matt J 2017년 10월 18일
Another way
for i = 1:size(interiorcolumns,1)
switch find( interiorcolumns{i}(6) == heightsmatrix, 1 )
case 1
condition 1
case 2
condition 2
case 3
condition 3
case 4
condition 4
case 5
condition 5
otherwise
condition 6
end
end

추가 답변 (1개)

Matt J
Matt J 2017년 10월 18일
편집: Matt J 2017년 10월 18일
I would just fill the missing elements with NaNs
heightsmatrix(end+1:6)=nan;

카테고리

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