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

Vektor durchsuchen, gleiche Zahlen mit Index ausgeben

 

Robert
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 60
Anmeldedatum: 14.11.08
Wohnort: Istanbul
Version: 2010b
     Beitrag Verfasst am: 18.05.2010, 17:51     Titel: Vektor durchsuchen, gleiche Zahlen mit Index ausgeben
  Antworten mit Zitat      
Hallo Leute,

hab jetzt schon ne ganze Weile im Forum gestöbert, aber natürlich nichts gefunden, was genau auf mein Problem passt. Klar, sonst würde ich jetzt hier nichts posten Wink

Also, Ausgangssituation ist, dass ich einen laaaangen Vektor habe, in dem Zahlen zwischen 1 und 100 vorkommen, jedoch teilweise mit Kommastellen was das eigentliche Problem der Geschichte ist. Für ganze Zahlen gibts reichlich Lösungsvorschläge im Forum...
Nun soll der Vektor durchsucht und für Zahlen, die öfter als i mal vorkommen, ein neuer Vektor erstellt werden, in dem z. B. in der ersten Spalte/Zeile der Wert steht und in den nachfolgenden Spalten/Zeilen der Index des Anfangsvektors, wo man diese Zahl findet.

Beispiel:
[1 2.3 4.3 3.4 2.3 2.3 1 1]
Ergebnis soll dann sein:
[1 1 7 8] die „1“ steht an Stelle 1, 7 und 8
[2.3 2 5 6]die „2.3“ steht an Stelle 2, 5 und 6

Mal zum Grundsätzlichen, falls man das Problem komplett anders angehen möchte: Ich habe eine Matrix, dessen erste Spalte wie hier beschrieben, betrachtet werden soll. Mit dem Ergebnis geht es dann in die nächste Berechnung, die jeweils mit den Werten in Spalte 2 und 3 der Matrix durchgeführt wird. Allerdings blockweise, also immer mit den Zeilen, die in der ersten Spalte den gleichen Wert haben. Ich glaube, jetzt hab ich es deutlich genug ausgedrückt, oder?
Meine Idee ist nun, mir diese Blöcke ausgeben zu lassen und dann in den nächsten Schritt zu gehen. Daher komme ich auf dieses Problem.

Bin auf eure Antworten gespannt und danke schon im Voraus!
Beste Grüße
Robert
Private Nachricht senden Benutzer-Profile anzeigen


josekamara
Forum-Meister

Forum-Meister


Beiträge: 529
Anmeldedatum: 26.04.08
Wohnort: München
Version: ---
     Beitrag Verfasst am: 18.05.2010, 19:11     Titel:
  Antworten mit Zitat      
Hallo Robert,

schau Dir bitte diesen Code.
Code:

x=[1 2.3 4.3 3.4 2.3 2.3 1 1];
y={[],[]};


for i=1:length(x)

    if isempty(find(cell2mat(y(:,1))==x(i)))
    FindXi = find(x==x(i));
    y(end+1,:)={x(i) , FindXi};
    end
       
end

y(1,:)=[];
 


Gruß

Jose
_________________

Simulation
Private Nachricht senden Benutzer-Profile anzeigen
 
Robert
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 60
Anmeldedatum: 14.11.08
Wohnort: Istanbul
Version: 2010b
     Beitrag Verfasst am: 18.05.2010, 19:32     Titel:
  Antworten mit Zitat      
Freak... Smile Smile Smile
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.