Ich habe den folgenden Satz von if
Bedingungen:-Switch-Anweisung Matlab
If (0 <= x < 2)
y=y1;
If (2 <= x < 5)
y=y2;
If (5 <= x < Infinity)
y=y3;
Ich brauche diese mit dem Schalter-Fall in Matlab codieren. Irgendeine Idee ?
Ich habe den folgenden Satz von if
Bedingungen:-Switch-Anweisung Matlab
If (0 <= x < 2)
y=y1;
If (2 <= x < 5)
y=y2;
If (5 <= x < Infinity)
y=y3;
Ich brauche diese mit dem Schalter-Fall in Matlab codieren. Irgendeine Idee ?
Aus dem Handbuch
A case_expression nicht relationalen Operatoren sind wie < oder> zum Vergleich gegen die switch_expression. Um Ungleichheit zu testen, verwendet
if, elseif, else
Aussagen
Ein Schaltergehäuse ist am besten geeignet für eine kleine Anzahl von Ergebnissen, die zu langweilig für sind, wenn Verzweigung. Wenn Sie wirklich switch
verwenden müssen, dann müssen Sie eine Kennung festlegen, die den Case-Schalter definieren wird. Einige Beispiele sind auch found in the manual
Fügen Sie einfach 'swtich' und' end' am Anfang und Ende und Kleinbuchstaben 'If' hinzu? Wenn Sie nicht übereinstimmen, sollte der Abgleich derselbe sein wie er ist. – GameOfThrows
Warum müssen Sie dies als ['switch'] (http://www.mathworks.com/help/matlab/ref/switch.html) Anweisung kodieren? Eine "if" -Anweisung erscheint angemessener. – excaza
Siehe [diesen Beitrag] (http://stackoverflow.com/questions/35919254/multiple-case-statements-on-interval-withinnested-functions/35921078#35921078) als eine Referenz für warum switch/case ist ein schlechter Anwendungsfall hier – Suever