Verfasst am: 13.08.2010, 23:36
Titel: Vektoren vergleichen und Indizes auslesen
Hallo,
ich brüte inzwischen seit heut Mittag über einer eigentlich simplen Aufgabe und finde die Lösung nicht (ganz).
Ich hab 160 Vektoren á 12 Einträge (Struktur "E") und 5 Vektoren á 32 Einträge (Struktur "T").
Die Zahlen aus den Vektoren "T" (insgesamt = 160) kommen jede genau einmal in einem der "E"-Vektoren vor.
Und ich will wissen, in welchem dieser Vektoren und das will ich mir dann wieder in neue Variablen schreiben.
In TH muesste eine "3" fuer T.p(3) stehen; stattdessen erhalte ich ein '95 x double',
in TF muesste eine "1" fuer T.p(1) stehen; stattdessen erhalte ich ein "3" in TN muesste eine "2" fuer T.p(2) stehen; das wird gar nicht ausgegeben.
falsch verwendet? Meine Idee dahinter war, die weiteren Durchläufe zu sparen, sobald der Eintrag gefunden wurde.
Besonders elegant und kurz ist die Lösung auch nicht. Hat jemand eine Idee, wie ich das verbessern kann?
Ich hatte auch probiert mit isequal(), aber das funktioniert nicht. Gibt es nicht einen einfachen Befehl, mit dem man elementweise die Vektoren vergleichen und sich die Position ausgeben lassen kann?
drinsteht. Dort ist an der Stelle des matches nicht die Zahl angeführt, die dieselbe ist (das wäre in dem Fall 273), sondern eine "22".
Das versteh ich nicht
Da ich ja in einem neuen Vektor die Zeilennummer schreiben will, wo überall in T.p (ist ja eigentlich eine Matrix) ein match mit den Vektoren E.h, E.f, E.n gefunden wurde, muss ich wieder eine Schleife bauen, um die matches auszulesen?
Mache ich das am besten mit
Mich würde trotzdem noch interessieren, was bei meinem zweiten Ansatz schiefgelaufen ist. Weil, so schlecht finde ich den nicht. Der gibt hübsch die gewünschten Zeilennummer aus. Aber warum wird jeder Eintrag 32mal geschrieben? Was hab ich falsch gemacht?
Mich würde trotzdem noch interessieren, was bei meinem zweiten Ansatz schiefgelaufen ist. Weil, so schlecht finde ich den nicht. Der gibt hübsch die gewünschten Zeilennummer aus. Aber warum wird jeder Eintrag 32mal geschrieben? Was hab ich falsch gemacht?
Ich hab den Fehler grad gefunden: die zweite Schleife ist überflüssig.
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
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.