Afsnit ML.4: Sandhedsvariable
MATLAB kan angive sandhedsværdien af en
relation mellem to tal. For eksempel
vil MATLAB give "
2>3" værdien "falsk", og give "
2<3"
værdien "sand". Sand repræsenteres ved værdien 1 og falsk ved værdien 0
i MATLAB. Følgende relationer giver som resultat en sandhedsværdi:
Logiske værdier kan forbindes med
som betyder "og", det vil
sige, at begge udsagn skal være sande, for at resultatet er sandt, eller
de kan forbindes med
|, som betyder "eller", det vil
sige, at mindst et udsagn skal være sandt, for at resultatet er sandt.
>> 2<3
ans = 1
>> 2>3
ans = 0
>> x=3;
>> (x^2)==9
ans = 1
>> (x^2)~=9
ans = 0
>> (4>3)&(2<3)
ans = 1
>> (4<3)&(2<3)
ans = 0
>> (4<3)&(2>3)
ans = 0
>> (4>3)|(2<3)
ans = 1
>> (4<3)|(2<3)
ans = 1
>> (4<3)|(2>3)
ans = 0
Hvis det er en vektor, der indgår i en relation, finder MATLAB
sandhedsværdien for hver indgang i vektoren.
>> x=[1,5,4,2,3];
>> x>2
ans = 0 1 1 0 1
>> y=[2,4,2,3,3];
>> x>y
ans = 0 1 1 0 0
>> sum(x>y) % antal sande udsagn
ans = 2
>> (x>y)*3 % sand=1 og falsk=0
ans = 0 3 3 0 0
>> (x<5)&(y>2)
ans = 0 0 0 1 1
En meget nyttig egenskab er, at en vektor med sandhedsværdier kan bruges til
at udtage elementer af en vektor.
>> x=[1,5,4,2,3];
>> y=[2,4,2,3,3];
>> z=[1,2,3,4,5];
>> z(x>y)
ans = 2 3
>> x(x>y)
ans = 5 4
>> x(x>y)-y(x>y)
ans = 1 2
ForegåendeNæste