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

CSV Mittelwert für Zeitintervall berechnen

 

DanzelCraig
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 25.04.14
Wohnort: MD
Version: 2012a
     Beitrag Verfasst am: 25.04.2014, 12:00     Titel: CSV Mittelwert für Zeitintervall berechnen
  Antworten mit Zitat      
Hallo,

im Rahmen eines kleinen Projektes möchte ich Daten aus einer CSV Datei aufbereiten. Die CSV Datei enthält minütliche Werte für die Temperatur. In den letzten Wochen habe ich mich dafür mit Matlab beschäftigt. Herausgekommen ist bislang ein Script welches in der Lage ist die Daten der CSV Datei in eine Zelle zu schreiben und daraus einzelne Vektoren zu bestimmen.

Code:
data = textscan(fid,'%s%s%s%s%s%s',...
       'Delimiter','. :;',...
       'headerlines',1);
     
tag = data{1};
tag = str2double(tag);
tag = tag';

monat = data{2};
monat = str2double(monat);
monat = monat';

jahr = data{3};
jahr = str2double(jahr);
jahr = jahr';

stunde = data{4};
stunde = str2double(stunde);
stunde = stunde';

minute = data{5};
minute= str2double(minute);
minute = minute';

temp = data{6};
temp = str2double(temp);
temp = temp';

fclose(fid);


Nun möchte ich versuchen den Mittelwert der letzten 5 Minuten zu erhalten. Mit
Code:
mittel = mean(temp(Anfang:Ende))

kann ich für 5 Minutenwerte einen Mittelwert in eine neue Variable schreiben zusätzlich die Zeit neu definieren. Ich möchte also aus

Code:
01.01.2013 00:00   8,2
01.01.2013 00:01   8,2
01.01.2013 00:02   8,2
01.01.2013 00:03   8,2
01.01.2013 00:04   8,2
...
 


Code:
01.01.2013 00:04
...
 


usw. generieren.

Im Anhang habe ich einen Beispielauszug hochgeladen.
Im Moment fehlt mir ein kleiner Denkanstoß oder Code der mich zum Ziel bringt. Vielleicht hat jemand eine Minute Zeit um mich auf den richtigen Weg zu bringen. Über eine Antwort würde ich mich sehr freuen.

mfG

datumtemp.zip
 Beschreibung:

Download
 Dateiname:  datumtemp.zip
 Dateigröße:  309 Bytes
 Heruntergeladen:  272 mal
Private Nachricht senden Benutzer-Profile anzeigen


Gio2
Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 13.03.14
Wohnort: Frankfurt
Version: ---
     Beitrag Verfasst am: 25.04.2014, 12:53     Titel:
  Antworten mit Zitat      
Hi DanzelCraig,
kann gerade es selbst nicht ausprobieren, aber als Tipp, evtl die Messwerte falsch rum sortieren und dann sagen, dass er aus den ersten 5 Messwerten den Mittelwert erstellen soll?
Private Nachricht senden Benutzer-Profile anzeigen
 
DanzelCraig
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 25.04.14
Wohnort: MD
Version: 2012a
     Beitrag Verfasst am: 25.04.2014, 13:23     Titel:
  Antworten mit Zitat      
Huhu Gio Smile

Daran habe ich auch schon gedacht, aber ich hoffe im gerade eine Lösung, die mich erstmal zufrieden stellt gefunden zu haben.

Code:

x=1

for i=1:length(minute)

if minute(i) == 4
tempneu(x) = mean(temp((i-4):i));
x = x+1

end
 


Damit soll ganz einfach realisiert werden, dass beim Minutenwert 4 die Temperaturwerte der Zeit 00 bis 04 gemittelt werden. Theoretisch müsste jetzt nur noch der Wert monat(i), tag(i), stunde (i) usw. ausgelesen und neu angelegt werden.

Code:

tagneu(x) = tag(i);
 


Wenn jemand einen Vorschlag für eine elegantere Methode hat bin ich ganz Ohr Wink

mfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Gio2
Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 13.03.14
Wohnort: Frankfurt
Version: ---
     Beitrag Verfasst am: 25.04.2014, 13:32     Titel:
  Antworten mit Zitat      
oder mit size(M,2) kennst du doch die länge der Matrix.
Somit könntest du sagen size(M,2)-5:size(M,2)
dann hast du auch die letzten fünf werte deiner matrix.
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.