|
Dexter |

Forum-Fortgeschrittener
|
 |
Beiträge: 68
|
 |
|
 |
Anmeldedatum: 22.05.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.05.2013, 13:39
Titel: Variable unterteilen
|
 |
Hallo,
ich bin neu in der Matlab-Welt und habe auch prompt meine erste Frage, die ich mit google nicht alleine lösen konnte.
Ich habe einen Datensatz mit vielen Variablen, diese habe jeweils sehr sehr viele Zeilen. (Es handelt sich um Messdaten).
Eine dieser Variablen ist eine Art Laufvariable, die von 0-34 durchzählt. Dabei kommt aber jeder Zahl von 0-34 etwa 80.000 mal vor.
Diese Variable würde ich nun gerne in 35 einzelne Variablen unterteilen.
Kann mir dazu jemand einen Tipp oder Lösungsvorschlag geben?
Grüße,
Dexter
|
|
|
|
|
Mmmartina |

Forum-Meister
|
 |
Beiträge: 745
|
 |
|
 |
Anmeldedatum: 30.10.12
|
 |
|
 |
Wohnort: hier
|
 |
|
 |
Version: R2020a
|
 |
|
|
 |
|
Verfasst am: 22.05.2013, 14:01
Titel:
|
 |
Hast du den Datensatz bereits eingelesen?
Wenn ja, liegen die Werte als MAtrix vor, in welcher Spalte steht die Laufvariable?
Annahme:
Matrix 2 x (35*80.000)
1. Spalte = Laufvariable 0..34
Variante1:
Dann kannst du über find die Zeilen herausfinden, in denen in der ersten Spalte die gewünschte Zahl steht und in z.B. eine neue Matrix umspeichern.
Variante2:
Wenn die Laufvariable immer stetig steigend ist von 0..34, dann brauchst du nur die jeweils xte + (35te*Zählerlaufvariable) auslesen.
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
|
|
|
Dexter |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 68
|
 |
|
 |
Anmeldedatum: 22.05.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.05.2013, 14:16
Titel:
|
 |
Der Datensatz ist bereits in den Workspace eingebunden.
Wenn die Reihenfolge der Varaiblen im Workspace so angerodnet ist, wie sie in der Datei in den Spalten stehen, dann ist die Variable in Spalte 4.
Ok, danke schonmal. Mit
habe ich es gerade geschafft.
So kann ich dann wohl für jeden Wert von 0-34 eine einzelne Variable erstellen.
Allerdings gibt mir das ja nur die Zeilenzahlen aus, in der der Wert der "Event"-Variable gleich Neun ist.
Ich möchte nun aber z.b. die neu erzeugte Variable "Neun" mit einer anderen Variable plotten. Das scheint aber nicht zu frunktionieren, da die Variablen dann natürlich sehr unterschiedlich viele Zeilenzahlen haben...
|
|
|
Mmmartina |

Forum-Meister
|
 |
Beiträge: 745
|
 |
|
 |
Anmeldedatum: 30.10.12
|
 |
|
 |
Wohnort: hier
|
 |
|
 |
Version: R2020a
|
 |
|
|
 |
|
Verfasst am: 22.05.2013, 14:29
Titel:
|
 |
|
 |
|
Dexter hat Folgendes geschrieben: |
Der Datensatz ist bereits in den Workspace eingebunden.
Wenn die Reihenfolge der Varaiblen im Workspace so angerodnet ist, wie sie in der Datei in den Spalten stehen, dann ist die Variable in Spalte 4.
Ok, danke schonmal. Mit
habe ich es gerade geschafft.
So kann ich dann wohl für jeden Wert von 0-34 eine einzelne Variable erstellen.
Allerdings gibt mir das ja nur die Zeilenzahlen aus, in der der Wert der "Event"-Variable gleich Neun ist. |
Ja, du bekommst dann den Index. Aber mit diesem Index kannst du ja auf die entsprechenden Werte zugreifen.
Du suchst in deiner obigen Codezeile übrigens in der 1. Spalte, nicht wie von dir angegeben, in der vierten!
Dexter hat Folgendes geschrieben: |
Ich möchte nun aber z.b. die neu erzeugte Variable "Neun" mit einer anderen Variable plotten. Das scheint aber nicht zu frunktionieren, da die Variablen dann natürlich sehr unterschiedlich viele Zeilenzahlen haben... |
Die Zeilenanzahl kann natürlich unterschiedlich sein, wenn die Aufnahmen im Datensatz entweder nicht bei 0 angefangen haben und/oder nicht mit 34 aufgehört haben.
Du musst dann entweder die x-Achse entsprechend an die Menge der y-Werte anpassen,
oder
wenn du z.B. Eins über Neun auftragen willst, eben nur so viele Werte nutzen, wie im kleineren vorhanden sind
oder
die fehlenden Werte interpolieren.
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
|
|
|
Dexter |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 68
|
 |
|
 |
Anmeldedatum: 22.05.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.05.2013, 15:21
Titel:
|
 |
Besteht auch die Möglichkeit, die Daten für jede Variable aus der .mat-Datei, die im Bereich "Neun" der Variable "Event" liegen in eine Neue .mat-Datei im selben Format (also selbe Anzahl Variablen) zu erzeugen?
|
|
|
Dexter |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 68
|
 |
|
 |
Anmeldedatum: 22.05.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.05.2013, 16:09
Titel:
|
 |
Ok, habe jetzt einen Lösungsweg gefunden. AUch wenn dieser sicherlich sehr aufwendig ist.
Aber immerhin schonmal ein Erfolgserlebnis..
Als erstes habe ich mir neue Variablen erstellt, in denen ich z.b. alle Höhen während des Events=9 und alle Temperaturen während des Events=9 mittels:
und
erstellt habe.
Dabei ist "458038:481540" natürlich der Bereich, den ich vorher mit
gefunden habe.
Anschließend konnte ich das Ganze mit
plotten.
|
|
|
|
|
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.
|
|