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

Riesige Datenmengen reduzieren?

 

seppl123
Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 06.07.08
Wohnort: Stuttgart
Version: 7.4.0
     Beitrag Verfasst am: 14.07.2008, 17:31     Titel: Riesige Datenmengen reduzieren?
  Antworten mit Zitat      
Hallo Community,

bei kürzlich aufgenommenen Messdaten (Oszi-Aufnahmen) habe ich die Zeitspanne der Punkte zu kurz gewählt (0,005 s Wink ) und jetzt riesige Datenmengen (txt-Dateien) erzeugt. Einlesen mit Matlab und Plotten ist aber trotzdem kein Problem.

Allerdings sind die Kurven ziemlich nahe beieinander und ich erkenne nur noch einen Farbwulst als Graph.

Es sind ca. 1 Million ( Embarassed ) Messpunkte (20 Hystereseschleifen). Jetzt würde ich die Messdaten gerne auf ca. 5000 reduzieren und dann plotten. Jetzt zu meinen Fragen.

1. Wie kann ich das am einfachsten erreichen? Eine Möglichkeit, die mir spontan einfiele wäre einfach nur jeden 200. Messpunkt zu nehmen. Allerdings befürchte ich dann, dass das ganze ungenau werden könnte, gerade weil ich ein ziemliches Schwanken in den Messwerten habe.

2. Mein zweiter Vorschlag wäre aus jeweils 200 Punkten einen Mittelwert zu bilden? Was haltet ihr davon?

3. Wie schauen eure Vorschläge aus? Kann ich das mit dem Befehl interp1 erreichen? Habe schon mit der Funktion rumgespielt und komme nicht auf die Lösung...

Gruß Seppl123
Private Nachricht senden Benutzer-Profile anzeigen


dib0r
Forum-Guru

Forum-Guru


Beiträge: 413
Anmeldedatum: 09.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.07.2008, 17:44     Titel:
  Antworten mit Zitat      
Hallo,

bei Rauschen würde ich Methode 1 nicht empfehlen. Methode 2 kann durchaus sinnvoll sein, wenn der Mittelwert in einem Fenster aussagekräftig ist. Methode 3 ist meiner Meinung nach die beste, allerdings würde ich eher zu
Code:
Code:
oder
Code:
raten.
Soweit ich die Hilfe zu
Code:
verstanden habe, werden nicht-existierende Funktionswerte einer Funktion zu einem bestimmten Zeitpunkt interpoliert. Dabei besteht die Funktion aus einem Zeitvektor und den dazugehörigen Funktionswerten. Dein Problem ist eigentlich genau das Umgekehrte Smile

Die Hilfe zu den obgenannten Befehlen müsste eigentlich alle Zweifel aus dem Weg räumen.

MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 15.07.2008, 10:21     Titel:
  Antworten mit Zitat      
ich hatte mal so ein ähnliches Problem mit der Darstellung von mehrstundigen EEG Daten gehabt. Downsampling (jeden N-ten Wert nehmen) hat zwar was gebracht, aber ich wollte auf die Details nicht verzichten. Habe es dann zusammen mit dem Downsampling und in Verbindung mit einem Slider umgesetzt. Du definierst die Fensterbreite und ausgehend von der Sliderposition wird die nur der bestimmter Daten-Bereich in der Axes angezeigt. Klickst Du mit der Maus woanders innerhalb des Sliders dann wird ausgehend von dem die neuen Grenzen berechnet und anschliessend die Daten dazwischen angezeigt. Je größer war der Dateninterval, desto größer war der downsampling-Schritt.

Eigentlich fast dasselbe was Zoom macht, jedoch in Verbindung mit Slider und Downsampling. Vorteil ist jedoch, dass es wirklich sehr schnell und ressourcenschonnend ist, weil es werden nicht alle Datenangezeigt, sondern tatsächlich nur das was Du eingestellt hast!

Setzt aber schon etwas Aufwand voraus... Smile


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast Ritis

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.07.2008, 08:34     Titel:
  Antworten mit Zitat      
Wenn die Daten rauschen, dann sollte ein Filter doch helfen, oder?
Nimmt filter bzw. filtfilt.
 
seppl123
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 06.07.08
Wohnort: Stuttgart
Version: 7.4.0
     Beitrag Verfasst am: 24.07.2008, 13:04     Titel:
  Antworten mit Zitat      
Vielen Dank für die Vorschläge. Letztendlich habe ich mich für eine andere Variante entschieden. Ich habe jeden x.ten Messwert ausgelesen und in eine neue Matrix abgespeichert und diese dann ausgewertet.

Dies habe ich vor allem aus Vergleichsgründen zu meinen Referenzmessungen gemacht.

Hab jedenfalls durch eure Vorschläge viel dazugelernt! Very Happy
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 - 2024 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.