|
gast1350 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.10.2013, 19:27
Titel: differenz bestimmen
|
 |
|
 |
|
hey,
ich hoffe, einer von euch kann mir helfen, irgendwie komm ich einfach nicht drauf.
ich habe einen vektor, der eine zeichenkette als datum und uhrzeit enthält, in diesem format mm.dd.yy hh:mm:ss AM oder PM (07.10.13 12:44:09 AM). leider fehlen ab und zu dazwischen werte, also zB. 07.10.13 12:46:09 AM, 07.10.13 13:50:09 AM 10.11.13 14:54:09 PM.
ich möchte jetzt, meinen vektor kontrollieren, ob jede minute ein wert vorhanden ist und wenn nicht, über die lücke interpolieren.
Ich hab gelesen, dass es da den Befehl diff gibt, leider bekomme ich immer die fehlermeldung, dass es sich um zeichenketten handelt, bzw. bin ich mir nicht sicher, ob das auch bei einem vektor elementeweise funktioniert.
leider weiss ich auch nicht so recht, wie ich eine schleife bauen soll, da sich im string ja AM und PM ändert bzw. nicht nur Minuten-daten fehlen, sondern teilweise ganze tage.
ich hoff, es ist einigermaßen verständlich erklärt, irgendwie steh ich bei diesem programm voll auf der leitung.
bin für jeden tipp dankbar.
gruni
|
|
|
|
|
markuman |

Forum-Guru
|
 |
Beiträge: 320
|
 |
|
 |
Anmeldedatum: 14.12.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
|
 |
|
|
 |
|
Verfasst am: 15.10.2013, 20:10
Titel:
|
 |
Ich würde versuchen den Timestring in einer serial data number zu konvertieren (siehe datenum, datestr und datevec). Damit lässt sich dann wesentlich entspannter "rechnen".
_________________
DIY OR DIE
entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.10.2013, 20:59
Titel:
|
 |
hallo,
danke für die schnelle antwort. leider bin ich noch immer nicht so wirklich schlau geworden.
mit dem code
hab ich jetzt zahlen-werte herausbekommen. was passiert mit AM und PM? kann ich das so übergeben, dass matlab es erkennt?
und wie kann ich mablab jetzt sagen, dass wenn die differenz zwischen dem nachfolgendem wert größer als 1 minute ist, dass interpoliert werden soll?
es tut mir wirklich leid, aber irgendwie komm ich einfach nicht drauf.
|
|
|
markuman |

Forum-Guru
|
 |
Beiträge: 320
|
 |
|
 |
Anmeldedatum: 14.12.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
|
 |
|
|
 |
|
Verfasst am: 15.10.2013, 21:14
Titel:
|
 |
Vielleicht hilft dir das weiter:
Du untersuchst quasi durch subtrahieren wie groß eine Minute in serial data number ist (ist irgendwo mit Sicherheit dokumentiert ). Dadurch kannst du rückschließen wo irgendwo eine Minute fehlt und ggf. auch Toleranzen berücksichtigen.
Über AM und PM brauchst du dir keine Gedanken machen wie du siehst.
_________________
DIY OR DIE
entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.10.2013, 21:22
Titel:
|
 |
danke, das hilfe. ich hab jetzt mal eine for-schleife dazugemacht
mit dieser schleife berechne ich dann immer die difference vom jeweils nächsten element.
|
|
|
markuman |

Forum-Guru
|
 |
Beiträge: 320
|
 |
|
 |
Anmeldedatum: 14.12.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
|
 |
|
|
 |
|
Verfasst am: 15.10.2013, 21:23
Titel:
|
 |
Ach, das Datum wird scheinbar doch nicht automatisch erkannt.
An der Differenz (~0.5) gegeben durch AM/PM ändert sich allerdings nichts.
_________________
DIY OR DIE
entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
|
|
|
markuman |

Forum-Guru
|
 |
Beiträge: 320
|
 |
|
 |
Anmeldedatum: 14.12.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
|
 |
|
|
 |
|
Verfasst am: 15.10.2013, 21:24
Titel:
|
 |
Anonymous hat Folgendes geschrieben: |
danke, das hilfe. ich hab jetzt mal eine for-schleife dazugemacht
mit dieser schleife berechne ich dann immer die difference vom jeweils nächsten element. |
diff erledigt das auch.
_________________
DIY OR DIE
entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.10.2013, 21:57
Titel:
|
 |
stimmt, mit diff ist es eleganter.
für die interpolation hab ich mir folgendes gedacht: ich starte eine abfrage, ob differ > 0.00069444440305233 ist und wenn ja, dann soll die lücke zwischen den messwerten gefüllt werden mit hilfe der interpolation. also zum bsp. hab ich am 25.10. einen messwert 10.9 aber dann erst wieder am 28.10. und diese lücke, will ich jetzt 'füllen'.
jetzt bin ich mir nur nicht sicher, ob in der schleife ein denkfehler drinnen ist. matlab zeigt mir zwar keine fehlermeldung an, berechnet die werte aber auch nicht.
|
|
|
markuman |

Forum-Guru
|
 |
Beiträge: 320
|
 |
|
 |
Anmeldedatum: 14.12.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
|
 |
|
|
 |
|
Verfasst am: 16.10.2013, 19:36
Titel:
|
 |
Das ergibt für mich keinen sinn.
Was ist differ?
Ferner wird dein T_inter jedes mal überschrieben und du würdest theoretisch nur den letzten errechnet Wert haben.
_________________
DIY OR DIE
entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
|
|
|
|
|
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.
|
|