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

auf index zugreifen

 

fekal
Forum-Century

Forum-Century



Beiträge: 124
Anmeldedatum: 08.02.11
Wohnort: Mainz
Version: 2017b
     Beitrag Verfasst am: 24.07.2013, 16:44     Titel: auf index zugreifen
  Antworten mit Zitat      
Hallo bestes Matlab Forum,

ich habe die Indices von gefundenen Minimas nach Zeile & Spalte. sieh sehen etwa so aus:
Code:
min=[23,1; 25,1; 9,2; 12,2; 14,2; 34,2; ...]


Wie kann ich z.B. sagen: nimm alle werte aus Array x die den minimas in Spalte 1 entsprechen, die in Spalte zwei den Wert 1 haben.

Oder gibt es einen Direktzugriff, der sagt nimm die Werte nach dem Index wie in Matrix 'min' ?

Vielen Dank, ich glaube das ist gar nicht so schwer, aber ich stehe leider gewaltig auf dem Schlauch Embarassed .

Tausend Dank
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 24.07.2013, 16:55     Titel:
  Antworten mit Zitat      
ok erstmal vorraus min als variablen namen zu verwenden ist denkbar ungünstig. zu deiner eigentlichen frage. logische indizierung ist hier das stichwort.
Code:
x(x==min(min(:,2)==1,1)

ps ich hab min benutzt weil du das oben gemacht hast. bitte ändere das in deinem code
edit:
das geht doch nicht da ja mehrere werte verglichen werden müssen
ein umweg über bsxfun ist denke ich dann ein guter weg.
Code:
bsxfun(@eq,x,min(min(:,2)==1,1)')
liefert dir dann eine matrix die 1 an der stelle hat wo die x werte jeweils liegen. die kannst du dann auswerten.
_________________

richtig Fragen

Zuletzt bearbeitet von Winkow am 24.07.2013, 17:02, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
fekal
Themenstarter

Forum-Century

Forum-Century



Beiträge: 124
Anmeldedatum: 08.02.11
Wohnort: Mainz
Version: 2017b
     Beitrag Verfasst am: 24.07.2013, 17:02     Titel:
  Antworten mit Zitat      
Hy, Vielen Dank fuer deine Hilfe.

Das mit 'min' hab ich hier nur zur Verdeutlichung im Forum gewählt. Aber du hast recht, mit so was sollte man gar nicht erst anfangen.

beste Gruesse
fekal
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 24.07.2013, 17:04     Titel:
  Antworten mit Zitat      
kleine randfrage noch.
wenn du eh die werte nur haben willst musst du doch nicht erst die werte aus x raussuchen. du hast die werte ja schon in min

Code:
würde also reichen.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
fekal
Themenstarter

Forum-Century

Forum-Century



Beiträge: 124
Anmeldedatum: 08.02.11
Wohnort: Mainz
Version: 2017b
     Beitrag Verfasst am: 24.07.2013, 17:07     Titel:
  Antworten mit Zitat      
In der Matrix mit den Minimalwerten stehen nur die Indices der Minimalwerte. Nicht jedoch die Werte an sich.
Ich muss die Werte in verschiedene Fenster aufteilen, daher brauche ich zur Unterteilung die Indices.
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 24.07.2013, 17:24     Titel:
  Antworten mit Zitat      
Zitat:
Array x die den minimas in Spalte 1 entsprechen
dann hab ich dich falsch verstanden. das hat sich so angehört als waren in spalte 1 die minimas und nicht der index der minimas.
dann müsste man das vieleicht doch anders lösen. einfachste weg wäre eine schleife geht aber bestimmt auch eleganter dazu müsste man aber die vorgeschichte der daten kenne.

Code:
x=[1:100]';
IND=[23,1; 25,1; 9,2; 12,2; 14,2; 34,2];
x(IND(IND(:,2)==1,1),1)
wäre dann das richtige glaub ich.

edit: ind2sub gelöscht. war altes code fragment ohne nutzen.
_________________

richtig Fragen

Zuletzt bearbeitet von Winkow am 24.07.2013, 17:54, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
fekal
Themenstarter

Forum-Century

Forum-Century



Beiträge: 124
Anmeldedatum: 08.02.11
Wohnort: Mainz
Version: 2017b
     Beitrag Verfasst am: 24.07.2013, 17:36     Titel:
  Antworten mit Zitat      
jaaa so was hab ich auch gesucht ind2sub, ich könnte mir vorstellen, dass das funktioniert.

Der vorherige code will nicht, da die Dimensionen nicht stimmen. Ich werde an dem auch noch ein bisschen schrauben. Ich könnte mir vorstellen, dass dein erster Vorschlag dann auch funktioniert.

Danke schon mal für diene Mühe und Zeit
Private Nachricht senden Benutzer-Profile anzeigen
 
fekal
Themenstarter

Forum-Century

Forum-Century



Beiträge: 124
Anmeldedatum: 08.02.11
Wohnort: Mainz
Version: 2017b
     Beitrag Verfasst am: 24.07.2013, 17:41     Titel:
  Antworten mit Zitat      
Juhuuu, das hat geklappt.

Tausend Dank Winkow

Endlich löst sich die Blockade und ich kann weitermachen.


Hab noch einen schönen Abend
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 24.07.2013, 17:54     Titel:
  Antworten mit Zitat      
oh ja das ind2sub ist unnütz in meinem post ^^ hatte ich vergssen zu löschen aus nem alten versuch Razz
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
fekal
Themenstarter

Forum-Century

Forum-Century



Beiträge: 124
Anmeldedatum: 08.02.11
Wohnort: Mainz
Version: 2017b
     Beitrag Verfasst am: 24.07.2013, 18:18     Titel:
  Antworten mit Zitat      
Smile Und gerade kam mein Supervisor rein und hat gesagt, dass wir einen anderen Weg gehen muessen Shocked

So geht`s die letzten paar Stunden nur für die eigene Wissensbereicherung und neue graue Haare gearbeitet Sad .

Tut mir leid, dass ich somit auch deine Zeit mit verplempert hab. Aber vielleicht kann ein Anderer diesen Thread noch gebrauchen.

Betse Gruesse

fekal
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 24.07.2013, 18:21     Titel:
  Antworten mit Zitat      
hast ja was zur logischen indizierung und zu bsxfun gelernt also wars ja nicht verplemperte zeit
_________________

richtig Fragen
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.