Info
此问题已关闭。 请重新打开它进行编辑或回答。
improve performance of if statment
2 次查看(过去 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!