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
Blox Fruits map: All locations and NPCs for the first, second & third seas
Roblox Blox Fruits map: All areas, NPCs & how to find them - Charlie INTEL
Forozdz
Amc Near My Location
His Lost Lycan Luna Chapter 5
Asian Feels Login
Health Benefits of Guava
Bucks County Job Requisitions
Zitobox 5000 Free Coins 2023
Directions To 401 East Chestnut Street Louisville Kentucky
Whiskeytown Camera
Katie Boyle Dancer Biography
Campaign Homecoming Queen Posters
Florida (FL) Powerball - Winning Numbers & Results
Camstreams Download
Osrs Blessed Axe
Keurig Refillable Pods Walmart
Newgate Honda
David Turner Evangelist Net Worth
Betonnen afdekplaten (schoorsteenplaten) ter voorkoming van lekkage schoorsteen. - HeBlad
Shreveport Active 911
Diesel Mechanic Jobs Near Me Hiring
Uc Santa Cruz Events
Eva Mastromatteo Erie Pa
Las 12 mejores subastas de carros en Los Ángeles, California - Gossip Vehiculos
Sadie Proposal Ideas
Poe Str Stacking
Brbl Barber Shop
Trivago Myrtle Beach Hotels
Spirited Showtimes Near Marcus Twin Creek Cinema
Dairy Queen Lobby Hours
Duke Energy Anderson Operations Center
Ridge Culver Wegmans Pharmacy
Life Insurance Policies | New York Life
Ofw Pinoy Channel Su
6143 N Fresno St
B.k. Miller Chitterlings
Mississippi State baseball vs Virginia score, highlights: Bulldogs crumble in the ninth, season ends in NCAA regional
Asian Grocery Williamsburg Va
Hannibal Mo Craigslist Pets
Chuze Fitness La Verne Reviews
Myanswers Com Abc Resources
A Comprehensive 360 Training Review (2021) — How Good Is It?
Craigslist Malone New York
Anderson Tribute Center Hood River
Craigslist Com St Cloud Mn
Pgecom
Gon Deer Forum
Killer Intelligence Center Download
Every Type of Sentinel in the Marvel Universe
Cognitive Function Test Potomac Falls
Mazda 3 Depreciation
Latest Posts
Article information

Author: Twana Towne Ret

Last Updated:

Views: 5647

Rating: 4.3 / 5 (44 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Twana Towne Ret

Birthday: 1994-03-19

Address: Apt. 990 97439 Corwin Motorway, Port Eliseoburgh, NM 99144-2618

Phone: +5958753152963

Job: National Specialist

Hobby: Kayaking, Photography, Skydiving, Embroidery, Leather crafting, Orienteering, Cooking

Introduction: My name is Twana Towne Ret, I am a famous, talented, joyous, perfect, powerful, inquisitive, lovely person who loves writing and wants to share my knowledge and understanding with you.