Info
이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.
improve performance of if statment
조회 수: 1 (최근 30일)
이전 댓글 표시
Hello
I have bellow statement
if ((fullPath(i-1)-1) > y)
col1=y ;
else
col1=(fullPath(i-1)-1);
end
if fullPath(i-1) > y
col2=y ;
else
col2=fullPath(i-1);
end
if (fullPath(i-1)+1) > y
col3=y ;
else
col3=(fullPath(i-1)+1) ;
end
How can I improve performance of these "if"?
as I know in C# there is if statement like bellow
condition ? statement1:statement2 (that if condition is true statement1 is going to do and if condition is false statement2 is going to do)
is there any command like this in matlab?
댓글 수: 0
답변 (1개)
Guillaume
2015년 7월 2일
편집: Guillaume
2015년 7월 2일
C languages' ?: is called the ternary conditional operator. There is no such thing in matlab unfortunately.
In your case, you could replace the if ... else, by:
col1 = min(y, fullPath(i-1)-1);
%same with col2, col3
Note: fullPath is a very odd variable name for something containing a number. I would have thought it'd be a string.
댓글 수: 1
Mark Matusevich
2015년 7월 2일
Minor optimisation, do all 3 in one command:
col = min(y, fullPath(i-1) + (-1:1));
then col is a vector with elements [col1 col2 col3].
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!