|
rocknrolli |

Forum-Anfänger
|
 |
Beiträge: 22
|
 |
|
 |
Anmeldedatum: 11.01.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.4.0 (R2007a) für Mac
|
 |
|
|
 |
|
Verfasst am: 19.04.2010, 21:51
Titel: Messdaten-Auswertung
|
 |
Hallo liebes Forum,
ich hab da ein Problem...
Ich habe eine ziemlich lange Liste mit Messdaten (1. Spalte: Stunde in Dezimaldarstellung, 2. Spalte: Wert).
Zur Info: Dabei geht es um die Sonneneinstrahlung im Dezember und Januar. Die Aufzeichnung geht also über zwei Monate. Die Werte wurden je nach Änderung aufgezeichnet, es gibt also keine Abtastrate.
Ich will nun aus der kompletten Liste einen Referenz-Wintertag bilden und zwar mit Viertelstundenschritten. Also t = 0 : 0.25 : 23.75
Ich habe die Messdaten in Matlab eingelesen und als Matrix gespeichert (1. Spalte: Stunde in Dezimaldarstellung, 2. Spalte: Wert).
Dann habe ich folgendes probiert:
Dann habe ich die Spalten der Matrix als Vektoren Stunde und Wert gespeichert und interp1 nochmals ausgeführt, mit dem selben Ergebnis:
Hat jemand eine Ahnung, wie ich das Problem lösen kann?
Vielen Dank schonmal!
Viele Grüße,
rocknrolli
_________________
7.4.0 (R2007a) für Mac
|
|
|
|
|
rocknrolli |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 22
|
 |
|
 |
Anmeldedatum: 11.01.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.4.0 (R2007a) für Mac
|
 |
|
|
 |
|
Verfasst am: 20.04.2010, 11:41
Titel:
|
 |
hat denn keiner einen Tipp? Ich sollte hier dringend weiterkommen...
_________________
7.4.0 (R2007a) für Mac
|
|
|
Caidence |

Forum-Anfänger
|
 |
Beiträge: 35
|
 |
|
 |
Anmeldedatum: 01.04.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.04.2010, 11:48
Titel:
|
 |
Vielleicht kapiere ich das nicht richtig, aber wenn du nur t als 'Viertelstunden'-Wert hast, aber keine regelmäßigen Werte in der ersten Spalte, wie soll er sich dann orientieren?
Wenn die Abtastrate bei 0.25 Stunden liegen würde, dann ginge das ja ganz einfach.
Aber mir fällt spontan nicht ein, wie man aus 0.33, 4.02, 15.57 Uhr usw. einen Viertelstunden-Abstand-Tag zaubern will. Aber,wie gesagt, vielleicht steh ich wirklich auf dem Schlauch...
|
|
|
rocknrolli |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 22
|
 |
|
 |
Anmeldedatum: 11.01.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.4.0 (R2007a) für Mac
|
 |
|
|
 |
|
Verfasst am: 20.04.2010, 12:26
Titel:
|
 |
Hallo Caidence,
meine Messdaten sehen folgendermaßen aus:
0.36;5.6
0.40;5.3
0.94;5.6
1.03;5.3
1.13;5.6
... gut, das war nachts, da geht nicht viel, weil sich die Werte nicht ändern...
10.32;643.0
10.32;647.8
10.32;652.6
10.32;657.4
10.32;662.1
10.32;666.9
... mitten im Tag dafür umso mehr!
So wie ich die Refernz zu interp1 verstehe, brauche ich den Fall 1:
yi = interp1(x,Y,xi)
Dabei müsste sein:
x = Zeit (1. Spalte meiner Messtabelle)
Y = Wert (2. Spalte meiner Messtabelle)
xi = meine neue Zeit
oder verstehe ich irgendwas falsch?
_________________
7.4.0 (R2007a) für Mac
|
|
|
LittleX |

Forum-Guru
|
 |
Beiträge: 494
|
 |
|
 |
Anmeldedatum: 14.05.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.04.2010, 13:00
Titel:
|
 |
Hallo,
das Problem ist, dass Du mehrmals die gleich Zeit hast: 10.32, 10.32. Das sagt auch die Meldung: X should be distinct.
Viele Grüße,
LittleX
|
|
|
rocknrolli |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 22
|
 |
|
 |
Anmeldedatum: 11.01.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.4.0 (R2007a) für Mac
|
 |
|
|
 |
|
Verfasst am: 20.04.2010, 13:22
Titel:
|
 |
Hallo LittleX,
vielen Dank für den Tipp!
Ich hab jetzt meinen Stunden ein paar mehr Kommastellen gegönnt. Das bringt aber leider die selbe Fehlermeldung. Das eingestellte Format ist short.
Mit format long funktioniert der Datenimport mit dlmread nicht. Da bleiben meine Stunden und Werte unter 0!
Warum weiß ich nicht...
_________________
7.4.0 (R2007a) für Mac
|
|
|
LittleX |

Forum-Guru
|
 |
Beiträge: 494
|
 |
|
 |
Anmeldedatum: 14.05.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.04.2010, 20:01
Titel:
|
 |
Der Befehl format ändert nur die Genauigkeit der Anzeige und hat nichts mit der Genauigkeit der gespeicherten Daten zu tun.
Kannst Du mal einen Auschnitt aus der Datei posten und Deinen Code?
Am besten einen Ausschnitt, mit dem auch der Fehler auftritt
|
|
|
rocknrolli |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 22
|
 |
|
 |
Anmeldedatum: 11.01.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.4.0 (R2007a) für Mac
|
 |
|
|
 |
|
Verfasst am: 20.04.2010, 21:37
Titel:
|
 |
|
 |
|
Hallo LittleX,
ich hab meine Uhrzeitangabe (hh:mm:ss) in Excel in Stunden umgerechnet.
Ich hab die Zahlen mit 15 Kommastellen dargestellt (das passt für long), damit die Wahrscheinlichkeit von gleichen Zahlen kleiner ist.
Das ist mal das Ende der Liste:
22.739166666666700;5.2
22.827777777777800;4.9
23.019444444444400;5.2
23.098888888888900;4.9
23.380277777777800;4.6
23.422222222222200;4.3
23.453333333333300;4.6
23.980555555555600;4.3
0.011944444444444;3.9
In Matlab habe folgendes gemacht:
Die letzten Zeilen der eingelesenen Liste sehen so aus:
0.227391666666667 0.052000000000000
0.228277777777778 0.049000000000000
0.230194444444444 0.052000000000000
0.230988888888889 0.049000000000000
0.233802777777778 0.046000000000000
0.234222222222222 0.043000000000000
0.234533333333333 0.046000000000000
0.239805555555556 0.043000000000000
0.000119444444444 0.039000000000000
Die Werte werden um 2 Kommastellen nach rechts geschoben.
Wenn ich "format short" eintippe und mir E nochmal ausgeben lasse, habe ich das:
22.7392 5.2000
22.8278 4.9000
23.0194 5.2000
23.0989 4.9000
23.3803 4.6000
23.4222 4.3000
23.4533 4.6000
23.9806 4.3000
0.0119 3.9000
Die Werte wurden also richtig eingelsen. Nur warum sie bei long falsch angezeigt werden, ist mir rätselhaft.
Wenn ich interp1 darauf anwenden will, passiert folgendes:
Das bei über 100000 Messwerten mal ne gleiche Zahl auftritt, kann ja sein...
Aber warum klappt das Einlesen mit format long nicht?
Viele Grüße,
rocknrolli
_________________
7.4.0 (R2007a) für Mac
|
|
|
rocknrolli |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 22
|
 |
|
 |
Anmeldedatum: 11.01.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.4.0 (R2007a) für Mac
|
 |
|
|
 |
|
Verfasst am: 20.04.2010, 21:51
Titel:
|
 |
hab grad mal nur einen Tag eingelesen. Das funktioniert. Da kann ja auch kein Stundenwert doppelt vorkommen
scheint so, als müsste ich das Einlesen aufsplitten...
_________________
7.4.0 (R2007a) für Mac
|
|
|
rocknrolli |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 22
|
 |
|
 |
Anmeldedatum: 11.01.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.4.0 (R2007a) für Mac
|
 |
|
|
 |
|
Verfasst am: 21.04.2010, 20:35
Titel:
|
 |
Hallo ihr,
gibt es vielleicht eine andere Funktion in Matlab mit der ich die Messwerte interpolieren könnte? Der Funktion müsste es egal sein, wenn Zeitwerte doppelt sind.
Wenn ich es mit interp1 mache, muss ich ziemlich viel stückeln und das wird sehr langwierig
Viele Grüße,
rocknrolli
_________________
7.4.0 (R2007a) für Mac
|
|
|
rocknrolli |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 22
|
 |
|
 |
Anmeldedatum: 11.01.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.4.0 (R2007a) für Mac
|
 |
|
|
 |
|
Verfasst am: 24.04.2010, 17:29
Titel:
|
 |
Hallo,
hat mir denn keiner dafür einen Tipp?
Viele Grüße,
rocknrolli
_________________
7.4.0 (R2007a) für Mac
|
|
|
|
|
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.
|
|