Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> MATLAB

MATLAB - Arrays

Alle Variablen aller Datentypen in MATLAB sind mehrdimensionale Arrays. Ein Vektor ist ein eindimensionales Array und eine Matrix ist ein zweidimensionales Array.

Wir haben bereits Vektoren und Matrizen besprochen. In diesem Kapitel werden wir mehrdimensionale Arrays besprechen. Lassen Sie uns jedoch zuvor einige spezielle Arten von Arrays besprechen.

Spezielle Arrays in MATLAB

In diesem Abschnitt werden wir einige Funktionen besprechen, die einige spezielle Arrays erstellen. Für alle diese Funktionen erstellt ein einzelnes Argument ein quadratisches Array, doppelte Argumente erstellen ein rechteckiges Array.

Die Nullen() Funktion erstellt ein Array aus lauter Nullen −

Zum Beispiel −

Live-Demo
zeros(5)

MATLAB führt die obige Anweisung aus und gibt das folgende Ergebnis zurück −

ans =
      0     0     0     0     0
      0     0     0     0     0
      0     0     0     0     0
      0     0     0     0     0
      0     0     0     0     0

Die Einen() Funktion erstellt ein Array aus lauter Einsen −

Zum Beispiel −

Live-Demo
ones(4,3)

MATLAB führt die obige Anweisung aus und gibt das folgende Ergebnis zurück −

ans =
      1     1     1
      1     1     1
      1     1     1
      1     1     1

Das Auge() Funktion erstellt eine Identitätsmatrix.

Zum Beispiel −

Live-Demo
eye(4)

MATLAB führt die obige Anweisung aus und gibt das folgende Ergebnis zurück −

ans =
      1     0     0     0
      0     1     0     0
      0     0     1     0
      0     0     0     1

Der rand() Die Funktion erstellt ein Array von gleichmäßig verteilten Zufallszahlen auf (0,1) −

Zum Beispiel −

Live-Demo
rand(3, 5)

MATLAB führt die obige Anweisung aus und gibt das folgende Ergebnis zurück −

ans =
   0.8147    0.9134    0.2785    0.9649    0.9572
   0.9058    0.6324    0.5469    0.1576    0.4854
   0.1270    0.0975    0.9575    0.9706    0.8003

Ein magisches Quadrat

Ein magisches Quadrat ist ein Quadrat, das dieselbe Summe ergibt, wenn seine Elemente zeilenweise, spaltenweise oder diagonal addiert werden.

Die Magie() Funktion erstellt ein magisches quadratisches Array. Es braucht ein singuläres Argument, das die Größe des Quadrats angibt. Das Argument muss ein Skalar größer oder gleich 3 sein.

Live-Demo
magic(4)

MATLAB führt die obige Anweisung aus und gibt das folgende Ergebnis zurück −

ans =
   16     2     3    13
   5    11    10     8
   9     7     6    12
   4    14    15     1

Mehrdimensionale Arrays

Ein Array mit mehr als zwei Dimensionen wird in MATLAB als mehrdimensionales Array bezeichnet. Mehrdimensionale Arrays in MATLAB sind eine Erweiterung der normalen zweidimensionalen Matrix.

Um ein mehrdimensionales Array zu generieren, erstellen wir im Allgemeinen zuerst ein zweidimensionales Array und erweitern es.

Lassen Sie uns zum Beispiel ein zweidimensionales Array a.

erstellen Live-Demo
a = [7 9 5; 6 1 9; 4 3 2]

MATLAB führt die obige Anweisung aus und gibt das folgende Ergebnis zurück −

a =
   7     9     5
   6     1     9
   4     3     2

Das Array a ist ein 3-mal-3-Array; wir können a eine dritte Dimension hinzufügen , indem Sie Werte wie −

angeben Live-Demo
a(:, :, 2)= [ 1 2 3; 4 5 6; 7 8 9]

MATLAB führt die obige Anweisung aus und gibt das folgende Ergebnis zurück −

a =

ans(:,:,1) =

   0   0   0
   0   0   0
   0   0   0

ans(:,:,2) =

   1   2   3
   4   5   6
   7   8   9

Wir können auch mehrdimensionale Arrays mit den Funktionen ones(), zeros() oder rand() erstellen.

Zum Beispiel

Live-Demo
b = rand(4,3,2)

MATLAB führt die obige Anweisung aus und gibt das folgende Ergebnis zurück −

b(:,:,1) =
   0.0344    0.7952    0.6463
   0.4387    0.1869    0.7094
   0.3816    0.4898    0.7547
   0.7655    0.4456    0.2760

b(:,:,2) =
   0.6797    0.4984    0.2238
   0.6551    0.9597    0.7513
   0.1626    0.3404    0.2551
   0.1190    0.5853    0.5060

Wir können auch cat() verwenden Funktion zum Erstellen mehrdimensionaler Arrays. Es verkettet eine Liste von Arrays entlang einer bestimmten Dimension −

Die Syntax für die cat()-Funktion ist −

B = cat(dim, A1, A2...)

Wo,

Beispiel

Erstellen Sie eine Skriptdatei und geben Sie den folgenden Code ein −

Live-Demo
a = [9 8 7; 6 5 4; 3 2 1];
b = [1 2 3; 4 5 6; 7 8 9];
c = cat(3, a, b, [ 2 3 1; 4 7 8; 3 9 0])

Wenn Sie die Datei ausführen, wird −

angezeigt
c(:,:,1) =
      9     8     7
      6     5     4
      3     2     1
c(:,:,2) =
      1     2     3
      4     5     6
      7     8     9
c(:,:,3) =
      2     3     1
      4     7     8
      3     9     0

Array-Funktionen

MATLAB bietet die folgenden Funktionen zum Sortieren, Drehen, Permutieren, Umformen oder Verschieben von Array-Inhalten.

Funktion Zweck
Länge Länge des Vektors oder größte Array-Dimension
ndims Anzahl der Array-Dimensionen
Zahl Anzahl der Array-Elemente
Größe Array-Dimensionen
iscolumn Legt fest, ob die Eingabe ein Spaltenvektor ist
ist leer Ermittelt, ob das Array leer ist
ismatrix Legt fest, ob die Eingabe eine Matrix ist
isrow Legt fest, ob die Eingabe ein Zeilenvektor ist
isskalar Legt fest, ob die Eingabe skalar ist
istVektor Legt fest, ob die Eingabe ein Vektor ist
blkdiag Konstruiert eine blockdiagonale Matrix aus Eingabeargumenten
Kreisverschiebung Verschiebt das Array kreisförmig
ctranspose Komplexe konjugierte Transponierung
diag Diagonalmatrizen und Diagonalen der Matrix
flipdim Kippt das Array entlang der angegebenen Dimension
fliplr Kippt die Matrix von links nach rechts
Flipud Kippt die Matrix von oben nach unten
ipermute Kehrt permutierte Dimensionen des N-D-Arrays um
permutieren Ordnet die Dimensionen des N-D-Arrays neu an
repmat Replikate und Tile-Array
umformen Formt das Array um
rot90 Dreht die Matrix um 90 Grad
shiftdim Dimensionen verschieben
sortiert Ermittelt, ob Set-Elemente in sortierter Reihenfolge sind
sortieren Sortiert Array-Elemente in aufsteigender oder absteigender Reihenfolge
Sortierreihen Sortiert Zeilen in aufsteigender Reihenfolge
drücken Entfernt Singleton-Dimensionen
transponieren Transponieren
vektorisieren Vektorisiert den Ausdruck

Beispiele

Die folgenden Beispiele veranschaulichen einige der oben genannten Funktionen.

Länge, Dimension und Anzahl der Elemente −

Erstellen Sie eine Skriptdatei und geben Sie den folgenden Code ein −

Live-Demo
x = [7.1, 3.4, 7.2, 28/4, 3.6, 17, 9.4, 8.9];
length(x)      % length of x vector
y = rand(3, 4, 5, 2);
ndims(y)       % no of dimensions in array y
s = ['Zara', 'Nuha', 'Shamim', 'Riz', 'Shadab'];
numel(s)       % no of elements in s

Wenn Sie die Datei ausführen, zeigt sie das folgende Ergebnis an −

ans =  8
ans =  4
ans =  23

Zirkuläres Verschieben der Array-Elemente −

Erstellen Sie eine Skriptdatei und geben Sie den folgenden Code ein −

Live-Demo
a = [1 2 3; 4 5 6; 7 8 9]  % the original array a
b = circshift(a,1)         %  circular shift first dimension values down by 1.
c = circshift(a,[1 -1])    % circular shift first dimension values % down by 1 
                           % and second dimension values to the left % by 1.

Wenn Sie die Datei ausführen, zeigt sie das folgende Ergebnis an −

a =
   1     2     3
   4     5     6
   7     8     9

b =
   7     8     9
   1     2     3
   4     5     6

c =
   8     9     7
   2     3     1
   5     6     4

Arrays sortieren

Erstellen Sie eine Skriptdatei und geben Sie den folgenden Code ein −

Live-Demo
v = [ 23 45 12 9 5 0 19 17]  % horizontal vector
sort(v)                      % sorting v
m = [2 6 4; 5 3 9; 2 0 1]    % two dimensional array
sort(m, 1)                   % sorting m along the row
sort(m, 2)                   % sorting m along the column

Wenn Sie die Datei ausführen, zeigt sie das folgende Ergebnis an −

v =
   23    45    12     9     5     0    19    17
ans =
   0     5     9    12    17    19    23    45
m =
   2     6     4
   5     3     9
   2     0     1
ans =
   2     0     1
   2     3     4
   5     6     9
ans =
   2     4     6
   3     5     9
   0     1     2

Zellenarray

Zell-Arrays sind Arrays von indizierten Zellen, wobei jede Zelle ein Array mit unterschiedlichen Dimensionen und Datentypen speichern kann.

Die Zelle Die Funktion wird zum Erstellen eines Zellenarrays verwendet. Syntax für die Zellenfunktion ist −

C = cell(dim)
C = cell(dim1,...,dimN)
D = cell(obj)

Wo,

Beispiel

Erstellen Sie eine Skriptdatei und geben Sie den folgenden Code ein −

Live-Demo
c = cell(2, 5);
c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5}

Wenn Sie die Datei ausführen, zeigt sie das folgende Ergebnis an −

c = 
{
   [1,1] = Red
   [2,1] =  1
   [1,2] = Blue
   [2,2] =  2
   [1,3] = Green
   [2,3] =  3
   [1,4] = Yellow
   [2,4] =  4
   [1,5] = White
   [2,5] =  5
}

Zugriff auf Daten in Zellarrays

Es gibt zwei Möglichkeiten, auf die Elemente eines Zellenarrays zu verweisen −

Wenn Sie die Indizes in die erste Klammer einschließen, bezieht sich dies auf den Satz von Zellen.

Zellen-Array-Indizes in glatten Klammern beziehen sich auf Gruppen von Zellen.

Zum Beispiel −

Live-Demo
c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5};
c(1:2,1:2)

MATLAB führt die obige Anweisung aus und gibt das folgende Ergebnis zurück −

ans = 
{
   [1,1] = Red
   [2,1] =  1
   [1,2] = Blue
   [2,2] =  2
}

Sie können auch auf den Inhalt von Zellen zugreifen, indem Sie mit geschweiften Klammern indizieren.

Zum Beispiel −

Live-Demo
c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5};
c{1, 2:4}

MATLAB führt die obige Anweisung aus und gibt das folgende Ergebnis zurück −

ans = Blue
ans = Green
ans = Yellow

MATLAB

  1. C#-Arrays
  2. C#-gezacktes Array
  3. Java-Kopie-Arrays
  4. Arrays in C++ | Erklären | Initialisieren | Zeiger auf Array-Beispiele
  5. C++ Dynamische Zuordnung von Arrays mit Beispiel
  6. MATLAB - Überblick
  7. MATLAB - Variablen
  8. MATLAB - Befehle
  9. MATLAB - Matrix
  10. MATLAB - Zahlen