Die Funktion find() in MATLAB

Ammar Ali 20 Januar 2022
Die Funktion find() in MATLAB

Dieses Tutorial behandelt die Funktion find() in Matlab.

Die Funktion find() in MATLAB

Die Funktion find() findet Werte und Indizes von Nicht-Null-Elementen in einem Vektor oder einer Matrix. Lassen Sie uns beispielsweise die Indizes von Nicht-Null-Elementen in einem Vektor ermitteln. Siehe den Code unten.

clc
MyVect = [1 2 5 6 0]
indices = find(MyVect)

Ausgabe:

MyVect =

     1     2     5     6     0


indices =

     1     2     3     4

Es gibt fünf Elemente, aber nur vier Indizes in der Ausgabe, da ein Element mit dem Wert Null vorhanden ist. Um den Index eines beliebigen in einem Vektor vorhandenen Wertes zu finden, müssen wir den Wert innerhalb der Funktion find übergeben. Angenommen, wir haben einen Vektor, der Zahlen enthält, und wir möchten den Index eines bestimmten Werts ermitteln. Wir können dies tun, indem wir den Wert in die Suchfunktion und ein Gleichheitszeichen eingeben, und die Suchfunktion gibt den Index dieses Werts zurück.

Lassen Sie uns beispielsweise einen Vektor definieren und den Index eines bestimmten Werts innerhalb des Vektors finden. Siehe den Code unten.

clc
MyVect = [1 2 5 6 0]
index = find(MyVect==5)

Ausgabe:

MyVect =

     1     2     5     6     0


index =

     3

In der Ausgabe ist der Wert 5 an Index drei innerhalb des Vektors vorhanden. Wir können auch Bedingungen innerhalb der Funktion find definieren. Zum Beispiel, wenn wir den Index der Werte größer als eins und kleiner als zehn ermitteln möchten. Wir können es innerhalb der find-Funktion mit den Operatoren größer als und kleiner als definieren. Lassen Sie uns beispielsweise einen Vektor definieren und die Werte größer als fünf und kleiner als 10 ermitteln. Siehe den folgenden Code.

clc
MyVect = [1 2 5 6 8 12 16]
index = find(MyVect<10 & MyVect>5)

Ausgabe:

MyVect =

     1     2     5     6     8    12    16


index =

     4     5

Die Ausgabe enthält zwei Werte größer als fünf und kleiner als zehn, und ihre Indizes werden in der Variablen index gespeichert. Innerhalb einer Matrix werden die Werte auf Zeilen und Spalten platziert, und wir können die Funktion find() verwenden, um die Position eines Elements zu finden. Lassen Sie uns zum Beispiel eine Matrix erstellen und die Zeilennummer und Spaltennummer eines bestimmten Werts mithilfe der Suchfunktion finden. Siehe den Code unten.

clc
MyVect = [1 2 5 ; 8 12 16]
[row,col] = find(MyVect==8)

Ausgabe:

MyVect =

     1     2     5
     8    12    16


row =

     2


col =

     1

In der Ausgabe liegt der Wert 8 in der zweiten Zeile und ersten Spalte. Wenn wir nur einen einzelnen Index des Wertes innerhalb einer Matrix finden möchten, können wir das auch finden, müssen jedoch beachten, dass die Elemente innerhalb der Matrix spaltenweise platziert werden. In einer 2-mal-2-Matrix liegen beispielsweise die ersten beiden Indizes in der ersten Spalte und die anderen beiden in der zweiten Spalte. Lassen Sie uns zum Beispiel den Index eines Werts in einer Matrix mit der Funktion find() finden. Siehe den Code unten.

clc
MyVect = [1 2 5 ; 8 12 16]
index = find(MyVect==8)

Ausgabe:

MyVect =

     1     2     5
     8    12    16


index =

     2

In der Ausgabe steht der Wert 8 an Index zwei innerhalb der Matrix. Sie können auch Bedingungen für eine Matrix innerhalb der Suchfunktion definieren. Wenn wir beispielsweise die Zeilen- und Spaltenanzahl von Werten unter 10 finden möchten, können Sie dies auch tun, indem Sie die Bedingung mit dem Kleiner-als-Operator in der Funktion find() definieren.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Verwandter Artikel - MATLAB Matrix