WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Wert in matrix finden

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.05.2012, 21:15     Titel: Wert in matrix finden
  Antworten mit Zitat      
Hallo ihr Profis!

Ich hab da ein problem bei dem ich schon seit einiger zeit sitze.

ich habe eine 113x133 matrix und möchte jetzt einen bestimmten wert in dieser matrix finden. das problem ist, dass die gesuchten werte öfter vorkommen. mir ist aber egal, welchen von den gesuchten werten matlab zur berechnung nimmt.

also, ich habe das jetzt so gemacht

I_neu = I(I == 270);

und jetzt speichert mir matlab alle I-werte mit 270 in den neuen Vektor, das ist z.B. dann ein 1x13 vektor.

gibt es jetzt eine möglichkeit, dass ich gar nicht den weg über den vektor gehe, sondern, dass matlab mir irgendeinen 270-Wert aus der gesamten Matrix sucht und mir dann die zeile und spalte von dem 270-wert ausgibt?

danke schonmal, lg


DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 26.05.2012, 22:54     Titel:
  Antworten mit Zitat      
z.B. mit...

Code:
[row,col] = find(I==270,1,'first')
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.05.2012, 08:06     Titel:
  Antworten mit Zitat      
super, danke!
und ist weit nicht so aufwendig, wie ich gedacht habe Smile
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.05.2012, 19:24     Titel:
  Antworten mit Zitat      
Hi ihr!

Ich hätte noch eine Frage:

was ist, wenn ich mehrere Bedingungen stellen will. Ich bräuchte den wert bei 270, aber nur den, für die die bedingung gilt z >= 2000.

Hab schon probiert:

[row,col] = find(I==270,1 && z >= 2000)

hat aber leider nicht funktioniert.

bei z handelt es sich ebenfalls um eine matrix mit der selben größe wie von I.

gibt es da vielleicht auch eine möglichkeit?

danke, lg,
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.05.2012, 21:47     Titel:
  Antworten mit Zitat      
hallo nochmal!

hab jetzt noch etwas herumgedoktert, funktioniert aber leider noch immer nicht.

Code:


K>> [row_sueden, col_sueden] = find(aspect_grad == 0,1 & z >= 2500,1)
??? Error using ==> find
Second argument must be a positive scalar integer.

 


hab es auch mit einer if-schleife probiert, da bekomm ich aber leider auch keine werte.

Wär toll, wenn ihr mir noch mal weiter helfen könnt.

lg, samy
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 27.05.2012, 22:36     Titel:
  Antworten mit Zitat      
Dazu hättest du ja einfach mal in die Doku zu dem Befehl schauen können. Dort wird ein Bsp. für so was angegeben Wink

Code:
[row_sueden, col_sueden] = find(aspect_grad == 0 & z >= 2500,1,'first')


Die 1 steht für die Anzahl der Werte, welche als erste genommen werden sollen, falls die Bedingung zutrifft. Es kann ja sein, wie in deinem Fall, dass es mehrere sind. aspect_grad und z müssen aber die gleiche Länge haben.
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.05.2012, 09:41     Titel:
  Antworten mit Zitat      
Danke!

Mit doku meinst du die matlab-Hilfe oder gibt es auf gomatlab eine?

lg
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 28.05.2012, 09:56     Titel:
  Antworten mit Zitat      
Entweder in matlab selber oder du klickst einfach mal auf einen blau-geschriebenen Befehl, wie hier find Wink
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.