|
|
Viele Messdaten sinnvoll speichern |
|
MajorC |
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 10.11.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2018b
|
|
|
|
|
|
Verfasst am: 10.11.2019, 11:43
Titel: Viele Messdaten sinnvoll speichern
|
|
|
|
|
Hallo,
ich bin ganz neu in der Matlab Welt und versuche mich noch zurecht zu finden.
Aktuell habe ich das Problem, dass ich nicht weiß wie ich in Matlab meine Messdaten sinnvoll einlesen/speicher, so das ich dann weitere Berechnung damit durchführen kann.
Ich habe derzeit ca. 4.000 CSV Dateien. Jede CSV Datei hat im Dateinamen kodiert User-Setup-Durchlauf.csv
In jeder CSV Datei, die alle den gleichen Aufbaue haben, sind 10 Spalten mit unterschiedlichen Messwerten. Pro CSV Datei ungefähr 3.000-4.000 Zeilen Messpunkte.
Was ich schon geschafft habe, ist jede CSV Datei einzulesen und User, Setup und Durchlauf jeweils vor jeden Messpunkt zu schreiben und das ganze wieder in CSV-Dateien zurückzuschreiben, so das jeder Messpunkt diese Information hat.
Was ich mich jetzt frage, wie kann man diese Daten in Matlab sinnvoll speichern, so das ich sie filtern kann und weitere Berechnungen machen kann. Später möchte ich sowas machen wie "gib mir alle Messpunkte-X aus Durchlauf 2 von Setup 4". Oder auch: "berechne die Differenz zwischen Messpunkt X und Messpunkt Y alle Setups 2".
Ich dachte an eine Struktur die User, Setup und Durchlauf enthält und als viertes Element alle zugehörigen Messpunkte.
Oder gibt es eine schlauere Möglichkeit in Matlab? Und vor allem, wie programmiert man es
Vielen Dank
Christian
|
|
|
|
|
010101 |
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 07.09.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.11.2019, 12:11
Titel:
|
|
Hi,
evtl. ist das Format "timetable" für Deine Aufgabenstellung geeignet?
VG
|
|
|
MajorC |
Themenstarter
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 10.11.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2018b
|
|
|
|
|
|
Verfasst am: 10.11.2019, 19:02
Titel:
|
|
Hallo,
Timetable ist vielleicht für eine Messung brauchbar, ich suche noch eine MATLAB-Lösung die alle Ergebnisse strukturiert aufnimmt.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.11.2019, 19:42
Titel:
|
|
Hallo,
Möglichkeiten gibt es viele. Die Entscheidung würde ich davon abhängig machen, wie in erster Linie die Zugriffe erfolgen sollen.
Zitat: |
Was ich schon geschafft habe, ist jede CSV Datei einzulesen und User, Setup und Durchlauf jeweils vor jeden Messpunkt zu schreiben und das ganze wieder in CSV-Dateien zurückzuschreiben |
Das sind doch dann sehr redundante Informationen? Wenn du das so machst, könntest du gleich einen Timetable für die gesamten Daten verwenden.
Wenn du das als Struktur-Array anlegen willst:
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
MajorC |
Themenstarter
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 10.11.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2018b
|
|
|
|
|
|
Verfasst am: 10.11.2019, 20:06
Titel:
|
|
Da hast du recht. Die Information ist redundant und eigentlich nicht notwendig.
Mir würde es reichen wenn ich sie in einer Art Struktur stehen hätte, ohne zu wissen ob die Marlab struct dafür zu nutzen ist.
Ich denke es reicht wenn man User Setup Durchlauf stehen hat und dann als 4 Element einen ??? der alle Messwerte enthält.
Zugriff weiß ich noch gar nicht wie ich das machen kann. Mir ist die Filtwrfunktion wichtig, da ich mit den Messdaten später in Abhängigkeit von Setup, Durchlauf oder User weitere Berechnungen mit dem Inhalt von Messwerten machen muss.
Wie gesagt, ich bin unbeleckt was MATLAB angeht.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.11.2019, 20:24
Titel:
|
|
Hallo,
als 4. Element würde ich einen Table oder, wenn eine Zeitspalte dabei ist, Timetable wählen. Wie man beim Anlegen eines Structs generell vorgeht, habe ich dir ja schon geschrieben.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
MajorC |
Themenstarter
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 10.11.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2018b
|
|
|
|
|
|
Verfasst am: 11.11.2019, 12:27
Titel:
|
|
Vielen Dank. Das hat genau so funktioniert wie ich es mir gewünscht habe!
Jetzt schlage ich mich mit den Timetables rum. Da ich für Time nur ms haben, keine ganze Uhrzeit oder Datum. Hat da jemand auch eine Idee?
Ich bekomme den Fehler: Row times must be datetime or duration vector.
Verstehe aber noch nicht, wie ich Matlab sagen kann, dass meine Row 'Time' nur Millisekunden enthält die bitte als Time genutzt werden sollen.
Meine Time Spalte sieht immer so aus:
Time [ms]
34
41
50
60
70
80
91
100
Also eigentlich alle 10 ms ein Messwert, manchmal leichte Ungenauigkeiten drin.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 11.11.2019, 16:57
Titel:
|
|
Hallo,
ich würde die Daten zunächst als Table einlesen (readtable) und die Zeitspalte dann mit seconds in ein duration umwandeln. Dann sollte table2timetable funktionieren.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
MajorC |
Themenstarter
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 10.11.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2018b
|
|
|
|
|
|
Verfasst am: 13.11.2019, 11:19
Titel:
|
|
Hallo,
dein Hinweis hat mich zu einer Lösung gebracht.
Ich habe die Zeitspalte aus dem Struct rausgenommen und dann mit milliseconds in ein duration umwandeln. Ich hab es leider nicht geschafft, dass direkt im Struct zu machen.
Danach habe ich mir eine neue Timetable zusamengesetzt aus der neue Zeitspalte und dem restlichem Inhalt von Struct.
Vermutlich nicht schön, hat aber funktioniert
|
|
|
|
|
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.
|
|