Jak na to OK = (V == OUT)? 1:0; v Matlabu?

D

davyzhu

Guest
Dobrý den všem,

Našel jsem Matlab nepodporuje?: Operater.

Například v C, je jednoduchý OK = (V == OUT)? 1:0;.IN a OUT je vektory.Jak mohu uvědomit, že bez (pokud je jiný konec) v Matlabu.Díky!

Jakékoli návrhy ocení!

S pozdravem,
Davy

 
Z mé zkušenosti s Matlabem, myslím, že u nemůžete udělat, s výjimkou použití if-else nebo switch-case prohlášení.

Proč u nechtějí použít if-else?

 
Myslím, že tato práce:
IN a OUT, pokud jsou jednoduché variabilní použití:
ok = (V == OUT), nebo
ok = (! (IN == OUT));
toto přiřazení 0 nebo 1 na 'OK'.pro ostatní čísla do matematických operací například
ok = 3 * ((V == OUT) 2);
přidělit 6 nebo 9 na 'OK'.
Ujistěte se, že pokud Thet IN a OUT jsou pole pro každý vstup matlab vrátí boolean value.i znamená, že když V [3 4] a OUT = [3 7] ok = (V == OUT) return pole ok = [1 0] .ale můžete používat i pro tento svůj cíl.

 
V C,?: Je báječné "podmíněný operátor".Je kompaktní, a to zaručuje, že pouze zvolený výraz je ohodnocen, takže neexistují žádné vedlejší účinky-unchosen výraz.

Váš konkrétní příklad, jak může být zjednodušen mhamed vysvětlil.Nicméně, já si nemyslím, že MATLAB se obecně rovná?:, Takže jste zabředli nemotornější if-else.

 

Welcome to EDABoard.com

Sponsor

Back
Top