Wie man Elemente aus einem Array in Matlab extrahiert
In dieser Lektion werde ich erklären, wie man mithilfe der Slicing-Technik Elemente aus einem Matlab-Array extrahiert.
Zunächst erstellen wir ein Array mit einigen numerischen Werten.
>> v=[10 11 12 13 14 15 16]
v =
10 11 12 13 14 15 16
Das Array besteht aus sieben Elementen, in diesem Fall sieben ganzen Zahlen.
Wenn Sie die ersten drei Elemente des Arrays extrahieren möchten, geben Sie b=v(1:3) ein.
>> b=v(1:3)
b =
10 11 12
Dieser Befehl extrahiert die Elemente von Position 1 (dem ersten Element) bis Position 3 (dem dritten Element) des Arrays v.
In Matlab hat das erste Element eines Arrays immer einen Index von eins.
Speichern Sie anschließend die neu extrahierten Werte im Array b.
Beachten Sie, dass das Doppelpunkt-Symbol (:) die beiden äußersten Positionen des Bereichs trennt. Diese Technik wird Slicing genannt und ermöglicht es Ihnen, das Array schnell und einfach zu extrahieren und zu modifizieren. Sie wird auch in anderen Programmiersprachen wie Python verwendet.
Wenn Sie die dritten, vierten und fünften Elemente des Arrays v extrahieren möchten, geben Sie b=v(3:5) ein.
>> b=v(3:5)
b =
12 13 14
Um die ersten, dritten und fünften Werte des Arrays v zu extrahieren, geben Sie b=v([1 3 5]) ein.
>> b=v([1 3 5])
b =
10 12 14
Sie können auch zwei Intervalle von Elementen aus dem Array extrahieren, indem Sie sie mit einem Leerzeichen oder einem Komma trennen.
Um beispielsweise die ersten beiden Elemente sowie das sechste und siebte Element zu extrahieren, geben Sie b=v([1:2 6:7]) ein.
>> b=v([1:2 6:7])
b =
10 11 15 16
Um das letzte Element des Arrays zu extrahieren, können Sie die Position des Elements angeben oder das Schlüsselwort "end" verwenden.
Um beispielsweise das letzte Element des Arrays v zu extrahieren, geben Sie b=v(end) ein.
>> b=v(end)
b = 16
Das Schlüsselwort "end" ist sehr nützlich, weil es es Ihnen ermöglicht, die letzten Elemente des Arrays zu extrahieren, auch wenn Sie die Länge des Arrays oder die Anzahl seiner Elemente nicht kennen.
Wenn Sie beispielsweise die Elemente des Arrays ab dem vierten Element extrahieren möchten, geben Sie b=v(4:end) ein.
>> b=v(4:end)
b =
13 14 15 16
Wenn Sie die letzten drei Elemente des Arrays extrahieren möchten, geben Sie b=v(end-2:end) ein.
>> b=v(end-2:end)
b =
14 15 16
Sie können auch Elemente extrahieren, indem Sie eine Schrittweite festlegen und einen zusätzlichen Zwischenparameter in der Slicing-Angabe hinzufügen.
Was ist die Schrittweite? Die Schrittweite ist eine ganze Zahl, die den Zuwachs von einer Position des Arrays zur nächsten während der Extraktion angibt.
Zum Beispiel, um die Elemente an ungeraden Positionen zu extrahieren, geben Sie b=v(1:2:end) ein.
In diesem Fall extrahiert Matlab die Elemente vom ersten bis zum letzten Element mit einem Schritt von 2
>> b=v(1:2:end)
b =
10 12 14 16
Der Schritt kann auch eine negative Ganzzahl sein.
Um beispielsweise die Elemente des Arrays in umgekehrter Reihenfolge vom letzten zum ersten zu extrahieren, geben Sie b=v(end:-1:1) ein.
>> b=v(end:-1:1)
b =
16 15 14 13 12 11 10
Das Slicing ermöglicht auch das Ersetzen einiger Elemente des Arrays, indem ihnen andere Werte zugewiesen werden.
Um beispielsweise die ersten beiden Werte des Arrays durch 20 und 21 zu ersetzen, geben Sie v([1 2]) = [20 21] ein.
>> v([1 2]) = [20 21]
v =
20 21 12 13 14 15 16
Sie können auch einem einzelnen Wert mehrere Elemente des Arrays zuweisen.
Um beispielsweise dem ersten und zweiten Element des Arrays den Wert 99 zuzuweisen, geben Sie v([1 2]) = 99 ein.
>> v([1 2]) = 99
v =
99 99 12 13 14 15 16
Dies ermöglicht es Ihnen, bestimmte Elemente eines Arrays einfach mit einem einzigen Befehl zu modifizieren.