Info
Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.
improve performance of if statment
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (1)
Guillaume
am 2 Jul. 2015
Bearbeitet: Guillaume
am 2 Jul. 2015
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 Kommentar
Mark Matusevich
am 2 Jul. 2015
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].
Diese Frage ist geschlossen.
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!