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

Bilden einer Matrix aus 2 .dat Dateien

 

MEnde
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 21.01.14
Wohnort: Wiesbaden
Version: 2011b Mac
     Beitrag Verfasst am: 27.01.2014, 13:00     Titel: Bilden einer Matrix aus 2 .dat Dateien
  Antworten mit Zitat      
Hallo,

ich würde gerne Messdaten auswerten und dazu zwei dat. Dateien zu einer Matrix zusammenfügen.

Die Messdaten liegen wie folgt vor:

    Dateityp: .dat
    Matrix: n Zeilen und 11 Spalten
    1. Spalte ist ein Zeitstempel (Datum, Uhrzeit)
    restlichen Spalten sind statistische Parameter (Mittelwert bis Varianz etc.)
    1. Zeile steht die Spaltenüberschrift
    restlichen Zeilen folgen die Messwerte


Nun würde ich gerne die Messdaten zweier dat. Dateien in eine Matrix zusammenfügen --> Matrix mit n Zeilen und 21 Spalten!
In der ersten Spalte soll erneut der Zeitstempel stehen.
Wie müsste man nun vorgehen, dass die jeweiligen Messwerte dem richtigen Zeitstempel zugeordnet werden?
Ich habe hier im Forum bereits verschiedene Ansätze gelesen, allerdings sind die Probleme und Lösungen z.T. anderer Natur, oder meine Kenntnisse zu gering um den Ausführungen zu folgen. --> Verwirrung!
Von daher wäre es super nett, falls mir einer etwas Hilfestellung geben könnte. Ich bin lernwillig und würde mich auch über genauere Erläuterungen freuen, damit euch logisch folgen kann.

Vielen Dank vorab und beste Grüße,
MEnde.
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: 27.01.2014, 14:48     Titel: Re: Bilden einer Matrix aus 2 .dat Dateien
  Antworten mit Zitat      
Was hast du denn bisher versucht?

Kommen alle Zeiten aus Datei1 auch in Datei 2 vor?
Oder wie möchtest du Zeiten und somit Zeilen behandeln, die nicht in beiden Dateien vorkommen?

Rein logisch betrachtet musst du folgendes tun:
1. beide Matritzen aus Dateien auslesen -> txtscann
2. erweiterte Ergebnismatrix erstellen über den Vergleich der beiden Zeitvektoren aus den Matritzen und die restlichen Daten der Matritzen hinzufügen
_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Private Nachricht senden Benutzer-Profile anzeigen
 
MEnde
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 21.01.14
Wohnort: Wiesbaden
Version: 2011b Mac
     Beitrag Verfasst am: 28.01.2014, 12:36     Titel:
  Antworten mit Zitat      
Hallo Martina,

vielen Dank für dein schnelles Feedback.

Die vorkommenden Zeiten aus der 1. und 2. Datei sind nicht immer identisch, nur zu ca. 90%.
Bis dato bin ich wie folgt vorgegangen:
1. Weg
Code:

speed_data = importdata ('Windspeed_data_33m.txt') % erstellt die Variable speed_data mit den Untermatrizen "speed_data.data" und "speed_data.textdata"  
direction_data = importdata ('Wind_Richtung_33m.txt')

%Um eine erweiterte Ergebnismatrix erstellen zu können, soll im nachfolgenden Schritt die Spalte mit dem Datum von einem  "Date String" in eine "Serial Date Number" überführt werden.  So soll sicher gestellt werden, dass im zweiten Schritt die beiden Variablen anhand des Datums in eine korrekte erweiterte Ergebnismatrix überführt werden.

timestamp_speed= datenum(speed_data.textdata (7:end), 'yyyy-mm-dd HH:MM:SS');
timestamp_direction=datenum(direction_data.textdata (7:end), 'yyyy-mm-dd HH:MM:SS');
 

Und genau hier scheitere ich! Ich habe noch keinen Ansatz gefunden, wie man die Zeitstempel miteinander vergleicht, um die dazugehörigen Messdaten in einer Zeile zu bringen. Kann man hier mit der "sort" Funktion arbeiten oder ist hierzu eine Schleife anzufertigen?

2. Weg:
Code:

fid = fopen ('Windspeed_data_33m.txt');
B = textscan (fid, '%s %s %s %s %s %s %s');
% führt zu einer 1x7 Matrix, wobei die das Datum und die dazugehörige Zeit nicht in einem Vektor abgespeichert sind. Das ist sehr unvorteilhaft.
 (

Den 2. Weg habe ich vorerst nicht weiter verfolgt, weil ich hier die Datums-Spalte und Zeit-Spalte wieder zusammenführen müsste.


Ich habe einen Ausschnitt der dat. Dateien als Textdateien angehängt.
Vielleicht hat ja jemand einen heissen Ratschlag?

Vielen Dank.

Windspeed_data_33m.txt
 Beschreibung:

Download
 Dateiname:  Windspeed_data_33m.txt
 Dateigröße:  623 Bytes
 Heruntergeladen:  240 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 29.01.2014, 17:16     Titel:
  Antworten mit Zitat      
Hallo MEnde,

Mir ist die Frage noch nicht ganz klar.
Welche Typen und Inhalte haben die vorliegenden Arrays? Was soll mit den beiden importierten Datensätzen genau geschehen?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
MEnde
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 21.01.14
Wohnort: Wiesbaden
Version: 2011b Mac
     Beitrag Verfasst am: 30.01.2014, 10:52     Titel:
  Antworten mit Zitat      
Hallo Jan,

ich habe Messdaten in zwei Dateien vorliegen.
Die Dateien sind vom Typ ".dat". Von mir wurden hier zwei Bsp.- Dateien hochgeladen, die vom Typ ".txt" sind.
Die eine Datei beinhaltet Messdaten zur Windgeschwindigkeit und die andere zur Windrichtung. Die dokumentierten Parameter in den Dateien sind einem Zeitstempel zugeordnet (Datum + Uhrzeit).
Nun möchte ich gerne beide Dateien in eine Ergebnismatrix überführen.
Die Matrix sollte in der ersten Spalte den Zeitstempel haben, sodass die Parameter zur Windgeschwindigkeit und -richtung mit gleichem Zeitstempel in einer Zeile stehen.

Beste Grüße,
MEnde.

Windspeed_data_33m.txt
 Beschreibung:

Download
 Dateiname:  Windspeed_data_33m.txt
 Dateigröße:  623 Bytes
 Heruntergeladen:  250 mal
Wind_Richtung_33m.txt
 Beschreibung:

Download
 Dateiname:  Wind_Richtung_33m.txt
 Dateigröße:  1.04 KB
 Heruntergeladen:  241 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 30.01.2014, 17:15     Titel:
  Antworten mit Zitat      
Hallo MEnde,

Das hilft mir noch nicht wirklich weiter.
Egal was ".dat" auf immer bedeuten mag, Du hast doch die Daten bereits erfolgreich importiert, oder?
Wenn die Spalten des Files unterschiedliche Typen von Daten enthalten, wirst Du wahrscheinlich ein Cell-Array vorliegen haben, oder?
Welche Typen haben dann die Inhalte dieses Cell-Arrays?
In welcher Form liegen die Datumsangaben genau vor?

Zitat:
Nun möchte ich gerne beide Dateien in eine Ergebnismatrix überführen.

Was genau bedeutet "Ergebnismatrix"?

Was genau bedeutet "in einer Zeile stehen"?
Ein konkretes Beispiel wäre hilfreich. Bisher muss ich noch zu viel raten, um effizient antworten zu können.

Gruß, Jan
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.