|
|
Informationen aus externer Datei herauslesen |
|
Seraph |

Forum-Anfänger
|
 |
Beiträge: 16
|
 |
|
 |
Anmeldedatum: 11.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.11.2012, 22:12
Titel: Informationen aus externer Datei herauslesen
|
 |
Hallo, ich bin neu hier und habe folgenden Problem:
Ich möchte aus einer Langenzeit-Spannungsmessung die Daten mit Matlab verarbeiten. Dabei wurden Pro Sekunde 10 Messwerte aufgenommen.
Die Daten liegen Zeilenweise wie folgt zur Verfügung
Zitat: |
24.10.12 22:29:11 40 0.225513E+03 |
Ich möchte die zweite und dritte Spalte für die x-Achse und die vierte Spalte für die y-Achse verwenden.
Dazu muss ich allerdings die Daten erst mal zu Matlab importieren und zwar so, dass ich die Spalten wie beschrieben verwenden kann.
Und genau hier liegt mein Problem. Ich habe es bis jetzt mit fscanf probiert, bin aber zu keinem zufriedenstellenden Ergebnis gekommen.
Könnt Ihr mir vielleicht weiterhelfen, wie ich das anstellen kann?
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 12.11.2012, 04:30
Titel: Re: Informationen aus externer Datei herauslesen
|
 |
Hallo Seraph,
Ich gehe davon aus, dass die Werte in einem File stehen.
Bitte poste doch Deinen Code mit FOPEN, so dass wir ihn verbessern können.
Gruß, Jan
|
|
|
Seraph |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 16
|
 |
|
 |
Anmeldedatum: 11.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.11.2012, 14:48
Titel:
|
 |
Hier ist mein Code:
Wenn ich data dann ausgebe, sieht diese genau so aus, wie mein Mess-file.
Allerdings bekomme ich bei von size(data) = 1 15575 als Ergebnis.
Damit kann ich allerdings glaub ich zum plotten nichts anfangen.
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 13.11.2012, 12:26
Titel:
|
 |
Hallo Seraph,
Richtig, mit FSCANF kommt man hier nicht weiter. TEXTSCAN ist hilfreicher. Man liest den ersten Teil als String ein und den Rest als Zahlen. Den String kann man dann per DATENUM in ein serielles Datums-Format umwandeln, das zum Plotten geeignet ist. Hilfreich wird dann noch DATETICK sein.
Zu diesen drei Befehlen findest Du gute Hilfen in der Dokumentation und viele Beispiele hier im Forum.
Gruß, Jan
|
|
|
Seraph |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 16
|
 |
|
 |
Anmeldedatum: 11.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.11.2012, 17:42
Titel:
|
 |
Danke, werd ich mal ausprobieren
Mit dem ersten Teil meinst du dann Datum und Uhrzeit?
Grüße, Seraph
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 14.11.2012, 11:19
Titel:
|
 |
Hallo Seraph,
Ja, ich meine, dass man "24.10.12 22:29:11" als Sting einlesen sollte, eventuell als 2 Strings und die hinterher per STRCAT verbinden, falls das einfacher ist.
Gruß, Jan
|
|
|
Seraph |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 16
|
 |
|
 |
Anmeldedatum: 11.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.11.2012, 17:55
Titel:
|
 |
So weit so gut, das klappt schon mal zum Teil.
Doch leider nur zum Teil.
Ich möchte gerne beim Plotten meine Millisekunden behalten (3. Spalte der Quelldatei).
Zitat: |
Quelldatei:
24.10.12 22:29:11 40 0.225513E+03
|
Und ich hab in der Hilfe gelesen, dass bei datenum(Y, M, D, H, MN, S) Millisekunden verwendet werden können, bzw sie alsTeil der Sekunde erhalten bleiben. Ich vermute mal, dass ich um dieses Format zu bekommen DATEVEC verwenden muss. Doch vorher muss ich Uhrzeit und Datum zusammenfügen. Dies möchte ich mit STRCAT machen.
Aber dabei habe ich ein Problem. Zwischen beiden habe ich dann kein Leerzeichen. Wie bekomme ich das hin?
Habe ich irgendwo einen Denkfehler?
Hier mein bisheriger Code:
Zitat: |
Ausgabe: datum
24.10.12
Ausgabe: uhrzeit
22:29:11.400
Ausgabe: zeit
24.10.1222:29:11.400 |
|
|
|
Seraph |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 16
|
 |
|
 |
Anmeldedatum: 11.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.11.2012, 14:55
Titel:
|
 |
Hat jemand eine Idee für mein Problem
|
|
|
madlab |

Forum-Fortgeschrittener
|
 |
Beiträge: 86
|
 |
|
 |
Anmeldedatum: 15.05.12
|
 |
|
 |
Wohnort: Freiburg
|
 |
|
 |
Version: 7.11 (R2010b)
|
 |
|
|
 |
|
Verfasst am: 19.11.2012, 16:09
Titel:
|
 |
Hallo Seraph,
setzt dein String innerhalb von STRCAT in geschwungene Klammern {}.
Das führt dazu, dass Matlab die spaces beachtet. Probier einfach mal:
du kannst bei den Daten, die keine spaces enthalten die zusätzlichen Klammern auch weglassen.
grüße,
mad
|
|
|
Sirius3 |

Forum-Guru
|
 |
Beiträge: 441
|
 |
|
 |
Anmeldedatum: 12.11.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.11.2012, 23:31
Titel:
|
 |
warum nicht gleich das ganze Datum am Stück lesen:
Grüße
Sirius
|
|
|
Seraph |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 16
|
 |
|
 |
Anmeldedatum: 11.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.11.2012, 00:04
Titel:
|
 |
Danke für die schnelle Hilfe!
@madlab:
Danke, du hast mir sehr weitergeholfen.
@Sirius3:
Das ist ja noch viel besser. genau so hab ich mir das vorgestellt.
Das kürzt das ganze gewaltig ab. Herzlichen Dank!
jetzt habe ich nur noch ein Problem und sehe meinen Fehler nicht.
Ich möchte es nun plotten aber irgendetwas muss ich beim datetick falsch machen. Es wird nur die datenumber als Abszisse aufgetragen, nicht aber die Uhrzeit.
Könnt Ihr mir sagen, was ich da falsch mache?
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 20.11.2012, 02:02
Titel:
|
 |
Hallo Seraph,
Erst plotten, dann DATETICK.
Gruß, Jan
|
|
|
Seraph |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 16
|
 |
|
 |
Anmeldedatum: 11.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.11.2012, 09:36
Titel:
|
 |
Dankeschön Ihr seit die besten
|
|
|
Seraph |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 16
|
 |
|
 |
Anmeldedatum: 11.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.11.2012, 22:27
Titel:
|
 |
Gibt es beim Einlesen oder beim Verarbeiten der Daten eine Möglichkeit gezielt nur bestimmte Uhrzeiten und die dazugehörigen Spannungen auszuwählen, da man nur diesen Bereich plotten möchte?
Beispielsweise von 07:04:10 bis 07:04:15
|
|
|
Seraph |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 16
|
 |
|
 |
Anmeldedatum: 11.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.11.2012, 18:27
Titel:
|
 |
Hat such erledigt. Hab eben eine Lösung gefunden.
|
|
|
|
|
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.
|
|