|
|
bestimmte Zeilen aus Matrix auswählen |
|
Julia |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.01.2012, 14:52
Titel: bestimmte Zeilen aus Matrix auswählen
|
 |
|
 |
|
Hallo,
ich habe folgendes Problem:
Ich habe eine Matrix mit 5 Spalten und vielen Zeilen. In der ersten Spalte stehen meine Zahlen nachdenen ich selektieren möchte. Weil es recht viele Zahlen sind und nicht alle Werte von 1: 6598 vorkommen und sich die Zahlen doppeln habe ich zuerst über den unique befehl mir alle Zahlen aus Spalte 1 herausgeben lassen.
Nun folgendes: Ich habe in der ersten Spalte den Wert 1 stehen, wenn dies also stimmt, dann soll er mir die restlichen vier dazugehörigen Spalten in eine neue Matrix schreiben.
Da ich das bei vielen Tabellen machen muss, wäre es nicht schlecht eine Schleife darum zu bauen.
Schön wäre auch, wenn ich in dem Namen meiner neuen Matrix, den Wert aus der ersten Spalte wiederfinde.
also beispielsweise
1 80 0 1991 76
8 60 0 1958 116
1 80 0 1991 76
6 89 0 1972 104
3 45 0 1996 2
3 89 0 2010 97
in einer neuen Matrix sollen nun alle Werte stehen, die zu der 1 in der ersten Spalte gehören, für die 3 genauso usw.
ich hab auch schon was dazu gefunden, allerdings funktioniert das noch nicht ganz.
Für eine einzige Zahl funktioniert das so:
data_neu=data(data==3,: )
aber ich möchte das ja in einer Schleife ablaufen lassen für alle Zahlen und am besten den Namen data_neu_3 haben.
Kann mir einer von euch helfen?
Liebe Grüße
|
|
|
|
|
rainer87gast |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.01.2012, 15:13
Titel:
|
 |
falls ich dich richtig verstanden habe, war dein ansatz schon nicht verkehrt.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.500
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 23.01.2012, 15:18
Titel:
|
 |
Hallo,
hier eine Möglichkeit:
Ich würde dringend davon abraten, Matrizen erst zur Laufzeit bestimmte Namen zu geben, da es mit der Weiterverarbeitung dadurch automatisch schwierig wird.
Grüße,
Harald
|
|
|
Julia |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.01.2012, 15:40
Titel:
|
 |
ich danke euch, beide Codes funktionieren
Ich möchte nun die Daten die in der {} stehen weiterverarbeiten und darin immer nach der ersten Spalte sortieren ...
geht das auch noch so schnell?
Also ihr habt jetzt nach der ersten Spalte selektiert, jetzt hab ich Matrizen mit 4 Spalten und alle Werte sollen über den befehl sortrows nach der neuen ersten Spalte sortiert werden
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.500
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 23.01.2012, 15:42
Titel:
|
 |
|
|
Julia |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.01.2012, 16:19
Titel:
|
 |
Gut...
tut mir leid, wenn ich hier immer wieder mit neuen Fragen komme, aber so nen Profi in Matlab bin ich leider (noch ) nicht.
ich hab jetzt ein bisschen mit xlswrite herumgespielt.
weil es bei mir ganz viele daten sind, die ich wahrscheinlich nur einmal kurz brauche ist mir der aufwand zu groß jede einzelne matrize abzuspeichern.
deswegen hab ich auch wieder an eine Schleife gedacht.
Ich möchte jede einzelne Matrize in eine eigene Arbeitsmappe schreiben.
das geht über
xlswrite('Y:\Gruppen\Mais.xls',neue_matrizen{mein_index},mein_jeweilige_Arbeitsmappe);
ich hab insgesamt 3930 Zeilen (wo aber wie schon vorher gesagt, nicht jede Zahl vorkommt, maximale Zahl ist 8271) und für jede dieser Zeile habe ich eine Matrix, die immer fortlaufend in eine Arbeitsmappe des bestehenden Datei Mais abgespeichert werden soll.
Ich brauch doch dafür 2 For-Schleifen oder?
Aber in Schleifen basteln bin ich noch nicht gut
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|