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

Transformation der Halbst

 

Osterhase

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.04.2013, 16:31     Titel: Transformation der Halbst
  Antworten mit Zitat      
Ich hoffe ihr hattet schöne feiertage,

ich möchte eine Funktion schreiben, dass mir eine automatische Transformation der Zeitwerten macht.

Beispielsweise will ich Halbstundenwerte in Viertelstundewerte umwandeln

Dabei will ich die ist-Angaben und soll-Angaben machen.

Viele Grüße,


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 02.04.2013, 11:50     Titel: Re: Transformation der Halbst
  Antworten mit Zitat      
Hallo Osterhase,

Die Frage ist nicht klar. Was genau bedeutet "automatisch" hier?
Was sind "Zeitwerte"? Wie soll die "Umwandlung" von Viertel- in Halbstundenwerte aussehen? Möchtest Du jeweils einen Mittelwert aus zwei Zahlen bilden, oder jede zweite Zahl weglassen, oder einen Moving-Average, oder einen anderen Filter mit anti-Aliasing?

Zitat:
Dabei will ich die ist-Angaben und soll-Angaben machen.

Was heißt das?
Ich vermute, ein konkretes Beispiel ist hilfreich.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
freddy123
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 57
Anmeldedatum: 27.03.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.04.2013, 14:10     Titel:
  Antworten mit Zitat      
Ich habe beispielsweise eine Cell Array mit zeiten, dabei sind die abstände immer fest geregelt

21.05.2013 02:00
21.05.2013 05:00
21.05.2013 08:00
21.05.2013 11:00
21.05.2013 14:00

ich möchte gerne die Abstände automatisch feststellen.
beispielsweise möchte ich wenn ich so ein Array in meiner Funktion übergebe, als abstand 3 zurück bekommen oder 3 * 60 minuten

als zweites würde ich gerne noch meinen gewünschten abstand geben, beispielsweise 50 * 60 minuten, so dass er ein cell array erstellt mit den abständen
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: 02.04.2013, 15:32     Titel:
  Antworten mit Zitat      
Hallo freddy123,

Ja, das ist mit den Befehlen DATENUM und DIFF in zwei Zeilen machbar.
Zum Erstellen eines Cell-Strings:
Code:
ini = datenum('21.05.2013 02:00');  % Vielleicht mit 'dd.mm.yyyy HH:MM'
fin = datenum('22.05.2013 02:00');
step = 15*60 / 86400;
C = datestr(ini:step:fin, 'dd.mm.yyyy HH:MM')

Zu bedenken bleiben: Sommer/Winterzeit! Rundungsfehler beim Erstellen!

Zu den genannten Problemen findest Du auch viele Threads in diesem Forum. Eine Suche würde sich also lohnen.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
freddy123
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 57
Anmeldedatum: 27.03.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.04.2013, 09:46     Titel:
  Antworten mit Zitat      
Hallo Jan,


mein C ist diesem Fall
Code:
01.01.2013 02:00
.
jedoch wollte ich die zeitabstände zwischen Datum haben.

In meinem Fall wäre es beispielsweise

3 Stunden oder
3 * 60 Minuten = 180 Minuten
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: 03.04.2013, 10:48     Titel:
  Antworten mit Zitat      
Hallo freddy123,

Zitat:
mein C ist diesem Fall
Code:
01.01.2013 02:00
.

Das verstehe ich nicht. Ist das ein String oder Cell-String? Gibt es dazu noch eine Frage oder ist das Problem gelöst? Mit welchen Code hast Du dies erzeugt?

Ich hatte einen Code für den Zeitschritt von 15 Minuten gepostet. Ich glaube Du solltest es schaffen dies auf 180 zu ändern. Eigeninitiative ist immer hilfreich bei einer Diskussion im Forum.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
freddy123
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 57
Anmeldedatum: 27.03.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.04.2013, 11:38     Titel:
  Antworten mit Zitat      
Ich möchte ja dass die Zeitabstände automatisch erkannt werden,

dabei sollen die differenzen ermitteln werden (n+1) - n

Code:
21.05.2013 11:00
21.05.2013 14:00



Code:
21.05.2013 14:00 - 21.05.2013 11:00 = 3 Stunden


Ich verstehe gar nicht was du gemacht hast.
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.