Mo Logo [Home] [Lexikon] [Aufgaben] [Tests] [Kurse] [Begleitmaterial] [Hinweise] [Mitwirkende] [Publikationen]

Mathematik-Online-Lexikon:

Logische Matrizen


A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Übersicht

Erzeugung logischer Matrizen mit Hilfe von Relationen und Operatoren:
  >> M=magic(4)
  M =
      16     2     3    13
       5    11    10     8
       9     7     6    12
       4    14    15     1
  >> mod(M,2)==0
  ans =
       1     1     0     0
       0     0     1     1
       0     0     1     1
       1     1     0     0
  >> L=(M<4)|(M>12)
  L =
       1     1     1     1
       0     0     0     0
       0     0     0     0
       0     1     1     1
  >> find(L)'
  ans =
       1     5     8     9    12    13    16
  >> whos
    Name      Size                    Bytes  Class
  
    L         4x4                        16  logical array
    M         4x4                       128  double array
    ans       1x7                        56  double array
  
  Grand total is 39 elements using 200 bytes
Der Ergebnisvektor des Befehls find enthält dabei die Indizes der von 0 verschiedenen Elemente bei spaltenweiser Nummerierung der Elemente von L.

Matrizen, bei deren Definition nur die Elemente 1 und 0 verwendet werden, sind nicht automatisch logische Matrizen. Die Typumwandlung kann jedoch mit Hilfe der Funktion logical erzwungen werden:

  >> L=[0 1  1; 0 1 1]
  L =
       0     1     1
       0     1     1
  >> whos L
    Name      Size                    Bytes  Class
  
    L         2x3                        48  double array
  
  Grand total is 6 elements using 48 bytes
  
  >> L=logical(L)
  L =
       0     1     1
       0     1     1
  >> whos L
    Name      Size                    Bytes  Class
  
    L         2x3                         6  logical array
  
  Grand total is 6 elements using 6 bytes

Indizierung mit logischen Ausdrücken bzw. find-Resultaten:

  >> M(M~=7 & M<10)=0
  M =
      16     0     0    13
       0    11    10     0
       0     7     0    12
       0    14    15     0
  >> M(find(M)')
  ans =
      16    11     7    14    10    15    13    12
(Autoren: Hörner/Wipper)

[Verweise]

  automatisch erstellt am 12.  1. 2007