Hvordan gjøre OK = (IN == OUT) 01:00;? I Matlab?

D

davyzhu

Guest
Hei alle, fant jeg Matlab støtter ikke? Operater. For eksempel, i C, er det enkle OK = (IN == OUT) 1:00?;. IN-og OUT er vektorer. Hvordan kan jeg realisere det uten (hvis annet end) i Matlab. Takk! Eventuelle forslag vil bli verdsatt! Beste hilsen, Davy
 
Fra min erfaring med matlab, tror jeg u kan ikke gjøre det bortsett fra å bruke hvis-else eller switch-case uttalelser. Hvorfor u ikke ønsker å bruke hvis-else?
 
Jeg tror dette arbeidet: Hvis IN-og OUT er enkle variable bruk: ok = (IN == OUT), eller ok =, dette tildele 0 eller 1 til 'ok' ((IN == OUT)!). for andre tall gjør matematisk operasjon for eksempel ok = 3 * ((IN == OUT) +2), tildele 6 eller 9 til 'ok'. sørg thet om IN-og OUT er array for hver oppføring matlab returnere en boolean value.i betyr at hvis IN + [3 4] og OUT = [3 7] ok = (IN == OUT) returnere en matrise ok = [1 0] . men u kan bruke dette også for målet ditt.
 
I C:? Er den vidunderlige "betinget operator". Den er kompakt, og det garanterer at bare den valgte uttrykk er behandlet, så det er ingen bivirkninger fra unchosen uttrykket. Din spesielt eksempel kan forenkles som mhamed forklart. Men jeg tror ikke MATLAB har en generell tilsvarende:?, Så du står fast med clumsier hvis-else setningen.
 

Welcome to EDABoard.com

Sponsor

Back
Top