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