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

Variable unterteilen

 

Dexter
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 68
Anmeldedatum: 22.05.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.05.2013, 13:39     Titel: Variable unterteilen
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen


Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 22.05.2013, 14:01     Titel:
  Antworten mit Zitat      
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))
Private Nachricht senden Benutzer-Profile anzeigen
 
Dexter
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 68
Anmeldedatum: 22.05.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.05.2013, 14:16     Titel:
  Antworten mit Zitat      
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

Code:
Neun=find(Event(:,1) == 9)


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...
Private Nachricht senden Benutzer-Profile anzeigen
 
Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 22.05.2013, 14:29     Titel:
  Antworten mit Zitat      
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

Code:
Neun=find(Event(:,1) == 9)


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!
Code:

Neun= Event( find(Event(:,4) == 9), : )
 


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))
Private Nachricht senden Benutzer-Profile anzeigen
 
Dexter
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 68
Anmeldedatum: 22.05.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.05.2013, 15:21     Titel:
  Antworten mit Zitat      
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?
Private Nachricht senden Benutzer-Profile anzeigen
 
Dexter
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 68
Anmeldedatum: 22.05.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.05.2013, 16:09     Titel:
  Antworten mit Zitat      
Ok, habe jetzt einen Lösungsweg gefunden. AUch wenn dieser sicherlich sehr aufwendig ist. Very Happy
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:
Code:
x=HBaro(458038:481540,1)

und
Code:
y=TP_TP(458038:481540,1)

erstellt habe.

Dabei ist "458038:481540" natürlich der Bereich, den ich vorher mit
Code:
find(Event(:,:)==9)

gefunden habe.

Anschließend konnte ich das Ganze mit
Code:

plotten.
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.