English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

MATLAB-Array

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

Wir haben already über Vektoren und Matrizen diskutiert. In diesem Kapitel werden wir mehrdimensionale Arrays besprechen. Aber bevor wir das tun, lassen Sie uns einige spezielle Arten von Arrays besprechen.

Spezielle Arrays in MATLAB

In diesem Abschnitt werden wir einige Funktionen zur Erstellung spezieller Arrays diskutieren. Für alle diese Funktionen erstellt ein Parameter ein quadratisches Array, und zwei Parameter erstellen ein rechteckiges Array.

zeros()Funktion ein vollständiges Nullarray erstellen-

Zum Beispiel-

zeros(5)

MATLAB führt den obigen Befehl 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

ones()Funktion eine vollständige1Array-

Zum Beispiel-

ones(4,3)

MATLAB führt den obigen Befehl aus und gibt das folgende Ergebnis zurück-

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

eye()Funktion eine Einheitsmatrix erstellen.

Zum Beispiel-

eye(4)

MATLAB führt den obigen Befehl 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

rand()Funktion in (0,1eine gleichverteilte Zufallszahlmatrize auf der Grundlage von ) erstellen-

Zum Beispiel-

rand(3, 5)

MATLAB führt den obigen Befehl 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

魔方

Würfelmagische Quadrate

ist ein Quadrat, deren Elemente, wenn sie nach Zeilen, Spalten oder Diagonalen addiert werden, die gleiche Summe ergeben.magic()3Skalar. Die Funktion erstellt eine Magische Matrix. Sie nimmt einen einzigen Parameter an, der die Größe des Quadrats angibt. Der Parameter muss größer oder gleich

magic(4)

MATLAB führt den obigen Befehl 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

Arrays mit zwei oder mehr Dimensionen werden in MATLAB als mehrdimensionale Arrays bezeichnet. Mehrdimensionale Arrays in MATLAB sind eine Erweiterung der regulären zweidimensionalen Matrizen.

Normalerweise, um mehrdimensionale Arrays zu generieren, erstellen wir zunächst ein zweidimensionales Array und erweitern es.

Beispiel, lassen Sie uns eine zweidimensionale Array a erstellen.

a = [7 9 5; 6 1 9; 4 3 2]

MATLAB führt den obigen Befehl aus und gibt das folgende Ergebnis zurück-

a =
   7     9     5
   6     1     9
   4     3     2

Arrayaist3×3Array; wir können eine dritte Dimension hinzufügeneinedurch Bereitstellung ähnlicher Werte-

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

MATLAB führt den obigen Befehl 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 eine mehrdimensionale Array erstellen, indem wir die Funktionen ones(), zeros() oder rand() verwenden.

Beispiel,

b = rand(4,3,2)

MATLAB führt den obigen Befehl 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 auchcat()Funktion, um mehrdimensionale Arrays zu bauen. Sie verbindet eine Liste von Arrays entlang der angegebenen Dimension-

Die Syntax der cat() -Funktion ist-

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

wo

  • Bist das neu erstellte Array

  • A1,A2, ... sind die zu verbindenden Arrays

  • dimist die Dimension, nach der die Arrays verbunden werden

Beispiel

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

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 das Skript ausgeführt wird, 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

Arrayfunktionen

MATLAB bietet folgende Funktionen an, um den Inhalt von Arrays zu sortieren, zu drehen, zu versetzen, zu formen oder zu verschieben.

FunktionWirkung
length

Länge des Vektors oder maximale Arraydimension

ndimsArraydimension
numelAnzahl der Elemente im Array
sizeArraydimension
iscolumn

Eingangsparameter als Spaltenvektor bestimmen

isemptyArray als leer bestimmen
ismatrix

Eingangsparameter als Matrix bestimmen

isrowEingangsparameter als Zeilenvektor bestimmen
isscalarEingangsparameter als Skalar bestimmen
isvectorEingangsparameter als Vektor bestimmen
blkdiag

Blöcke der Diagonalmatrix nach Eingangsparameter konstruieren

circshiftArray kreisförmig verschieben
ctransposeKomplexes Konjugat transponieren
diagDiagonalmatrix und Diagonalen des Arrays
flipdim

Array entlang der angegebenen Dimension umdrehen

fliplrMatrix von links nach rechts umdrehen
flipudMatrix umdrehen
ipermute

Umkehren N-D-Dimensionen des Arrays

permute

Neu anordnen N-D-Dimensionen des Arrays

repmat复制和切片数组
reshape重塑数组
rot90将矩阵旋转90度
shiftdim移动维度
issorted确定集合元素是否按排序顺序
sort

按升序或降序对数组元素排序

sortrows按升序对行进行排序
squeeze删除单例维度
transpose转置
vectorize向量化表达式

Beispiel

以下示例说明了上面提到的一些功能。

元素的长度、维度和数量-

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

x = [7.1, 3.4, 7.2, 28/4, 3.6, 17, 9.4, 8.9];
length(x) % x 向量的长度
y = rand(3, 4, 5, 2);
ndims(y) % 数组 y 的维度数量
s = ['Zara', 'Nuha', 'Shamim', 'Riz', 'Shadab'];
numel(s) % s 中的元素数量

Wenn Sie die Datei ausführen, wird das folgende Ergebnis angezeigt-

ans =  8
ans =  4
ans =  23

数组元素的循环移位

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

a = [1 2 3; 4 5 6; 7 8 9] % 原始数组 a
b = circshift(a,1) % 循环下移首维值 1.
c = circshift(a,[1 -1]) % 首维值循环下移 1 
                           % 将第二维度的值向左移动 % 通过 1.

Wenn Sie die Datei ausführen, wird das folgende Ergebnis angezeigt-

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

排序数组

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

v = [ 23 45 12 9 5 0 19 17] % 水平向量
sort(v) % 排序 v
m = [2 6 4; 5 3 9; 2 0 1] % 二维数组
sort(m, 1) % 沿行排序 m
sort(m, 2) % 沿列排序 m

Wenn Sie die Datei ausführen, wird das folgende Ergebnis angezeigt-

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

单元数组

单元格数组是索引单元格的数组,其中每个单元格可以存储不同维度和数据类型的数组。

cell该函数用于创建单元格数组。单元格函数的语法是-

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

Beschreibung

  • Cist ein Zellenarray;

  • dimist ein Skalarintegervector, der die Dimensionen des Zellenarrays C angibt;

  • dim1,...،dimNist ein Skalarintegervector, das die C-Dimensionen angibt;

  • objist einer der folgenden-

    • Java-Array oder Objekt

    • Array vom Typ .NET System.String oder System.Object

Beispiel

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

c = cell(2, 5);
c = {'Rot', 'Blau', 'Grün', 'Gelb', 'Weiß'; 1 2 3 4 5}

Wenn Sie die Datei ausführen, wird das folgende Ergebnis angezeigt-

c = 
{
   [1,1] = Rot
   [2,1] =  1
   [1,2] = Blau
   [2,2] =  2
   [1,3] = Grün
   [2,3] =  3
   [1,4] = Gelb
   [2,4] =  4
   [1,5] = Weiß
   [2,5] =  5
}

Daten in der Zellenkombination aufrufen

Es gibt zwei Methoden, um die Elemente einer Zellenkombination zu referenzieren-

  • Platzieren Sie den Index in den geschweiften Klammern [], um auf die Zellenkombination zu verweisen

  • Platzieren Sie den Index in den geschweiften Klammern {}, um auf die Daten in einer einzigen Zelle zu verweisen

Wenn Sie den Index in den ersten Klammern platzieren, bezieht sich das auf die Zellenkombination.

Der Index in den runden Klammern bezieht sich auf die Zellenkombination.

Zum Beispiel-

c = {'Rot', 'Blau', 'Grün', 'Gelb', 'Weiß'; 1 2 3 4 5};
c(1:2,1:2)

MATLAB führt den obigen Befehl aus und gibt das folgende Ergebnis zurück-

ans = 
{
   [1,1] = Rot
   [2,1] =  1
   [1,2] = Blau
   [2,2] =  2
}

Sie können auch die großen Klammern verwenden, um den Inhalt der Zellen zu erreichen.

Zum Beispiel-

c = {'Rot', 'Blau', 'Grün', 'Gelb', 'Weiß'; 1 2 3 4 5};
c{1, 2:4}

MATLAB führt den obigen Befehl aus und gibt das folgende Ergebnis zurück-

ans = Blau
ans = Grün
ans = Gelb