2016-04-11 3 views

Antwort

3

Für Leistung, mit || (so dass ein Kurzschluss) ist mit folgenden vorzuziehen, aber wenn Sie wirklich vermeiden wollen auszuschreiben zusätzliche OR Klauseln, können Sie Gebrauch von ismember

if ismember(rn, 1:5) 
    %% Some calculations 
elseif ismember(rn, 6:10) 
    %% Some calculations 
end 

machen, die zurück true wenn rn ein Mitglied des Arrays ist (1:5 bzw. 5:10), und false, andernfalls.

Eine weitere Alternative ist mit find als

if find(1:5 == rn) 
    %% Some calculations 
elseif find(6:10 == rn) 
    %% Some calculations 
end 

folgt Da Sie in einem Vektor der unterschiedlichen Werte für die Gleichstellung überprüfen, werden find entweder einen einzelnen Index >= 1 zurück, die als true oder eine leere Matrix ausgewertet werden, die wird als false ausgewertet.


Wenn Sie rn wissen eine ganze Zahl zu sein, können Sie natürlich prüfen nur seine, wenn im Bereich Darstellung der oben

if rn >= 1 && rn <= 5 
    %% Some calculations 
elseif rn >= 6 && rn <= 10 
    %% Some calculations 
end 
7

Sie können dies tun, indem any unter Verwendung eines Vektors von Werten zu überprüfen :

if any(rn == 1:5) 
    %% Some calculations 
else if any(rn == 6:10) 
    %% Some calculations 
end 
Verwandte Themen