Ermitteln von Indizes und Werten von Elementen ungleich null (2024)

Table of Contents
Syntax Beschreibung Beispiele Elemente gleich und ungleich null in einer Matrix Elemente, die eine Bedingung erfüllen Elemente, die gleich bestimmten Werten sind Bestimmte Anzahl letzter Elemente ungleich null Elemente, die mehrere Bedingungen erfüllen Indexzeichen und Werte für Elemente ungleich null Indexzeichen mehrdimensionaler Arrays Eingabeargumente X — Eingabearray Skalar | Vektor | Matrix | mehrdimensionales Array n — Anzahl der zu ermittelnden Elemente ungleich null positiver ganzzahliger Skalar direction — Suchrichtung 'first' (Standardeinstellung) | 'last' Ausgabeargumente k — Indizes der Elemente ungleich null Vektor row — Indexzeichen für Zeilen Vektor col — Indexzeichen für Spalten Vektor v — Elemente ungleich null von X Vektor Mehr über Lineare Indizes Tipps Erweiterte Fähigkeiten Tall ArraysRechnen mit Arrays, die mehr Zeilen haben, als in den Speicher passen. C/C++ CodegenerierungGenerieren Sie C und C++ Code mit MATLAB® Coder™. Thread-Based Environment Führen Sie mithilfe von MATLAB® backgroundPool den Code im Hintergrund aus oder machen Sie den Code mit der Parallel Computing Toolbox™ ThreadPool schneller. GPU-ArraysSchnellere Codeausführung durch Ausführen auf einer Grafikkarte (GPU) mit der Parallel Computing Toolbox™. Verteilte ArraysPartitionieren von großen Arrays über den kombinierten Speicher Ihres Clusters mit Parallel Computing Toolbox™. Versionsverlauf Siehe auch Themen MATLAB-Befehl Americas Europe Asia Pacific

Ermitteln von Indizes und Werten von Elementen ungleich null

alle in Seite reduzieren

Syntax

k = find(X)

k = find(X,n)

k = find(X,n,direction)

[row,col] = find(___)

[row,col,v] = find(___)

Beschreibung

Beispiel

k = find(X) gibt einen Vektor zurück, der die linearen Indizes jedes Elements ungleich null im Array X enthält.

  • Wenn X ein Vektor ist, gibt find einen Vektor zurück, der dieselbe Orientierung hat wie X.

  • Wenn X ein mehrdimensionales Array ist, gibt find einen Spaltenvektor der linearen Indizes des Ergebnisses zurück.

Beispiel

k = find(X,n) gibt die ersten n Indizes zurück, die den Elementen ungleich null in X entsprechen.

Beispiel

k = find(X,n,direction), wobei direction hier 'last' (letzte) ist, findet die letzten n Indizes, die Elementen ungleich null in X entsprechen. Der Standardwert für direction ist 'first' (erste). Mit diesem Wert werden die ersten n Indizes gefunden, die Elementen ungleich null entsprechen.

Beispiel

[row,col] = find(___) gibt die Indexzeichen für Zeilen und Spalten jedes Elements ungleich null im Array X an und verwendet dazu beliebige Eingabeargumente in den vorherigen Syntaxen.

Beispiel

[row,col,v] = find(___) gibt auch den Vektor v zurück, der die Elemente ungleich null von X enthält.

Beispiele

alle reduzieren

Elemente gleich und ungleich null in einer Matrix

Live Script öffnen

Ermitteln Sie die Elemente ungleich null in einer 3x3-Matrix.

X = [1 0 2; 0 1 1; 0 0 4]
X = 3×3 1 0 2 0 1 1 0 0 4
k = find(X)
k = 5×1 1 5 7 8 9

Wenden Sie den logischen Operator not auf X an, um die Nullen zu lokalisieren.

k2 = find(~X)
k2 = 4×1 2 3 4 6

Elemente, die eine Bedingung erfüllen

Live Script öffnen

Ermitteln Sie in der 4x4-Matrix eines magischen Quadrats die ersten fünf Elemente, die kleiner als 10 sind.

X = magic(4)
k = find(X<10,5)
k = 5×1 2 3 4 5 7

Betrachten Sie die entsprechenden Elemente von X.

X(k)
ans = 5×1 5 9 4 2 7

Elemente, die gleich bestimmten Werten sind

Live Script öffnen

Um einen bestimmten ganzzahligen Wert zu ermitteln, verwenden Sie den Operator ==. Ermitteln Sie beispielsweise in einem 1x10-Vektor ungerader Ganzzahlen das Element, das gleich 13 ist.

x = 1:2:20
x = 1×10 1 3 5 7 9 11 13 15 17 19
k = find(x==13)
k = 7

Verwenden Sie zum Ermitteln eines nicht ganzzahligen Werts einen Toleranzwert, der auf Ihren Daten basiert. Anderenfalls ist das Ergebnis aufgrund von Gleitkomma-Rundungsfehlern manchmal eine leere Matrix.

y = 0:0.1:1
y = 1×11 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000
k = find(y==0.3)
k = 1x0 empty double row vector
k = find(abs(y-0.3) < 0.001)
k = 4

Bestimmte Anzahl letzter Elemente ungleich null

Live Script öffnen

Erstellen Sie die 6x6-Matrix eines magischen Quadrats, in der alle ungerade indizierten Elemente gleich null sind.

X = magic(6);X(1:2:end) = 0
X = 6×6 0 0 0 0 0 0 3 32 7 21 23 25 0 0 0 0 0 0 8 28 33 17 10 15 0 0 0 0 0 0 4 36 29 13 18 11

Suchen Sie nach den letzten vier Elementen ungleich null.

k = find(X,4,'last')
k = 4×1 30 32 34 36

Elemente, die mehrere Bedingungen erfüllen

Live Script öffnen

Ermitteln Sie die ersten drei Elemente in einer 4x4-Matrix, die größer als 0 und kleiner als 10 sind. Geben Sie zwei Ausgaben an, um die Indexzeichen der Zeilen und Spalten zu den Elementen zurückzugeben.

X = [18 3 1 11; 8 10 11 3; 9 14 6 1; 4 3 15 21]
X = 4×4 18 3 1 11 8 10 11 3 9 14 6 1 4 3 15 21
[row,col] = find(X>0 & X<10,3)
row = 3×1 2 3 4
col = 3×1 1 1 1

Die erste Instanz ist X(2,1), in diesem Fall 8.

Indexzeichen und Werte für Elemente ungleich null

Live Script öffnen

Ermitteln Sie die Elemente ungleich null in einer 3x3-Matrix. Geben Sie drei Ausgaben an, um die Indexzeichen für Zeilen, die Indexzeichen für Spalten und die Elementwerte zurückzugeben.

X = [3 2 0; -5 0 7; 0 0 1]
X = 3×3 3 2 0 -5 0 7 0 0 1
[row,col,v] = find(X)
row = 5×1 1 2 1 2 3
col = 5×1 1 1 2 3 3
v = 5×1 3 -5 2 7 1

Indexzeichen mehrdimensionaler Arrays

Live Script öffnen

Ermitteln Sie die Elemente ungleich null in einem 4x2x3-Array. Geben Sie zwei Ausgaben an, row und col, um die Indexzeichen für Zeilen und Spalten der Elemente ungleich null zurückzugeben. Wenn die Eingabe ein mehrdimensionales Array (N > 2) ist, gibt find col als linearen Index über die N-1 nachgeordneten Dimensionen von X zurück.

X = zeros(4,2,3);X([1 12 19 21]) = 1
X = X(:,:,1) = 1 0 0 0 0 0 0 0X(:,:,2) = 0 0 0 0 0 0 1 0X(:,:,3) = 0 1 0 0 1 0 0 0
[row,col] = find(X)
row = 4×1 1 4 3 1
col = 4×1 1 3 5 6

Eingabeargumente

alle reduzieren

XEingabearray
Skalar | Vektor | Matrix | mehrdimensionales Array

Eingabearray, angegeben als Skalar, Vektor, Matrix oder mehrdimensionales Array.

Datentypen: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
Unterstützung komplexer Zahlen: Ja

nAnzahl der zu ermittelnden Elemente ungleich null
positiver ganzzahliger Skalar

Anzahl der zu ermittelnden Elemente ungleich null, angegeben als positiver ganzzahliger Skalar. Standardmäßig sucht find(X,n) nach den ersten n Elementen ungleich null in X.

directionSuchrichtung
'first' (Standardeinstellung) | 'last'

Suchrichtung, angegeben als Zeichenfolge 'first' oder 'last'. Suchen Sie mithilfe von find(X,n,'last') nach den letzten n Elementen ungleich null in X.

Ausgabeargumente

alle reduzieren

k — Indizes der Elemente ungleich null
Vektor

Indizes der Elemente ungleich null, zurückgegeben als Vektor.

  • Wenn es sich bei X um einen Zeilenvektor handelt, ist k ebenfalls ein Zeilenvektor. Anderenfalls ist k ein Spaltenvektor.

  • k ist ein leerer Zeilenvektor oder ein leerer Spaltenvektor, wenn X ein leeres Array ist oder keine Elemente ungleich null enthält.

  • find verwendet den Grundsatz, dass k eine leere Matrix [] ist, wenn X eine leere Matrix [] ist.

Sie können die Werte ungleich null in X mithilfe von X(k) zurückgeben.

row — Indexzeichen für Zeilen
Vektor

Indexzeichen für Zeilen, zurückgegeben als Vektor. Zusammen geben row und col die Indexzeichen X(row,col) an, die den Elementen ungleich null in X entsprechen.

col — Indexzeichen für Spalten
Vektor

Indexzeichen für Spalten, zurückgegeben als Vektor. Zusammen geben row und col die Indexzeichen X(row,col) an, die den Elementen ungleich null in X entsprechen.

Wenn X ein mehrdimensionales Array mit N > 2 ist, dann ist col ein linearer Index über die N-1 nachgeordneten Dimensionen von X. Dadurch bleibt die Relation X(row(i),col(i)) == v(i) erhalten.

v — Elemente ungleich null von X
Vektor

Elemente ungleich null von X, zurückgegeben als Vektor.

Mehr über

alle reduzieren

Lineare Indizes

Ein linearer Index lässt die Verwendung eines einzelnen Indexzeichens zur Indizierung in ein Array zu, z. B. A(k). MATLAB® verarbeitet das Array als einzelnen Spaltenvektor, wobei jede Spalte an den unteren Rand der vorherigen Spalte angehängt ist. Daher werden bei der linearen Indizierung die Elemente in den Spalten von oben nach unten und von links nach rechts nummeriert.

Angenommen, es liegt eine 3x3-Matrix vor. Sie können das Element A(2,2) mit A(5) und das Element A(2,3) mit A(8) referenzieren. Der lineare Index ändert sich abhängig von der Größe des Arrays. A(5) gibt für eine 3x3-Matrix ein Element an einer anderen Position zurück als für eine 4x4-Matrix.

Die Funktionen sub2ind und ind2sub sind hilfreich bei der Konvertierung zwischen Indexzeichen und linearen Indizes.

Tipps

  • Zum Ermitteln von Array-Elementen, die eine Bedingung erfüllen, verwenden Sie find in Verbindung mit einem relationalen Ausdruck. Beispielsweise gibt find(X<5) die linearen Indizes zu den Elementen in X zurück, die kleiner als 5 sind.

  • Um die Elemente in X, die die Bedingung X<5 erfüllen, direkt zu ermitteln, verwenden Sie X(X<5). Vermeiden Sie Funktionsaufrufe wie X(find(X<5)), die find unnötigerweise auf eine logische Matrix anwenden.

  • Wenn Sie find mit einer relationalen Operation wie X>1 ausführen, müssen Sie unbedingt beachten, dass das Ergebnis der relationalen Operation eine logische Matrix aus Einsen und Nullen ist. Beispielsweise gibt der Befehl [row,col,v] = find(X>1) einen Spaltenvektor logischer 1-Werte (true) für v zurück.

  • Die Indexzeichen für Zeilen und Spalten, row und col, beziehen sich auf die linearen Indizes in k durch k = sub2ind(size(X),row,col).

Erweiterte Fähigkeiten

Diese Funktion bietet vollständige Unterstützung für Grafikkarten-Arrays. Weitere Informationen finden Sie unter Run MATLAB Functions on a GPU (Parallel Computing Toolbox).

Diese Funktion bietet vollständige Unterstützung für verteilte Arrays. Weitere Informationen finden Sie unter Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).

Versionsverlauf

Eingeführt vor R2006a

Siehe auch

ind2sub | nonzeros | strfind | sub2ind | Short-Circuit AND | Short-Circuit OR | ismember

Themen

  • Find Array Elements That Meet a Condition
  • Array-Indizierung
  • Relationale Operationen
  • Dünn besetzte Matrizen

MATLAB-Befehl

Sie haben auf einen Link geklickt, der diesem MATLAB-Befehl entspricht:

 

Führen Sie den Befehl durch Eingabe in das MATLAB-Befehlsfenster aus. Webbrowser unterstützen keine MATLAB-Befehle.

Ermitteln von Indizes und Werten von Elementen ungleich null (1)

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list:

Americas

  • América Latina (Español)
  • Canada (English)
  • United States (English)

Europe

  • Belgium (English)
  • Denmark (English)
  • Deutschland (Deutsch)
  • España (Español)
  • Finland (English)
  • France (Français)
  • Ireland (English)
  • Italia (Italiano)
  • Luxembourg (English)
  • Netherlands (English)
  • Norway (English)
  • Österreich (Deutsch)
  • Portugal (English)
  • Sweden (English)
  • Switzerland
    • Deutsch
    • English
    • Français
  • United Kingdom (English)

Asia Pacific

  • Australia (English)
  • India (English)
  • New Zealand (English)
  • 中国
  • 日本 (日本語)
  • 한국 (한국어)

Contact your local office

Ermitteln von Indizes und Werten von Elementen ungleich null (2024)
Top Articles
Can My Employer Fire Me for Working a Second Job?
Gateley - Employees working a second job
Fone Tech Cleveland Ms
Sarah Coughlan Boobs
Jikatabi Thothub
SSD an SATA Anschluss bei Futro S920
Cmx Cinemas Gift Card Balance
Promiseb Discontinued
T-Mobile SW 56th Street &amp; SW 137th Ave | Miami, FL
Cpt 90677 Reimbursem*nt 2023
8x20, 8x40 Shipping containers storage container for rent or sale - general for sale - by dealer - craigslist
Craigslist Shelves
Syncb Ameg D
Ingersoll Greenwood Funeral Home Obituaries
Ar Kendrithyst
Dyi Urban Dictionary
Lufkin Isd Calendar
Google Flights Msp To Fort Myers
Hood County Buy Sell And Trade
Tiffin Ohio Craigslist
'Blue Beetle': Release Date, Trailer, Cast, and Everything We Know So Far About the DCU Film
Kyle Gibson Stats Vs Blue Jays 5 Games | StatMuse
Watch Fifty Shades Darker Online Putlocker
The Boogeyman Showtimes Near Marcus Menomonee Falls Cinema
Math Nation Algebra 2 Practice Book Answer Key
Jesus Revolution (2023)
Reasonabiu
Dayinew
Hose Woe Crossword Clue
Southeast Ia Craigslist
Adriana Zambrano | Goosehead Insurance Agent in Metairie, Louisiana
Craigslist Pennsylvania Poconos
The Nun 2 Showtimes Near Cinemark Towson And Xd
R Mcoc
Flixtor The Meg
Walmart Careers Application Part Time
How To Get Mini Tusks In Blox Fruits
Used Cars for Sale in Phoenix, AZ (with Photos)
Lol Shot Io Unblocked
My Scheduler Hca Cloud
Katie Hamden Of
Viaggio Apostolico a Singapore: Santa Messa nello Stadio Nazionale presso il “Singapore Sports Hub” (12 settembre 2024)
Top 10 websites to play unblocked games
M&T Bank Branch Locations
New employee orientation | WSDOT
Eurorack Cases & Skiffs
Tacoma Craigslist Free
Builders Best Do It Center
A Man Called Otto Showtimes Near Cinemark Palace 20
Farmers And Merchants Bank Broadway Va
Ericdoa Ethnicity
Jimmy.johns Order Online
Latest Posts
Article information

Author: Ouida Strosin DO

Last Updated:

Views: 5537

Rating: 4.6 / 5 (76 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Ouida Strosin DO

Birthday: 1995-04-27

Address: Suite 927 930 Kilback Radial, Candidaville, TN 87795

Phone: +8561498978366

Job: Legacy Manufacturing Specialist

Hobby: Singing, Mountain biking, Water sports, Water sports, Taxidermy, Polo, Pet

Introduction: My name is Ouida Strosin DO, I am a precious, combative, spotless, modern, spotless, beautiful, precious person who loves writing and wants to share my knowledge and understanding with you.