|
BastiM |

Forum-Anfänger
|
 |
Beiträge: 31
|
 |
|
 |
Anmeldedatum: 15.07.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.07.2013, 12:39
Titel: Messwerte in x,y Plot
|
 |
|
 |
|
Hallo zusammen,
bin absoluter Matlab Neuling, und habe folgendes Problem, bin schon ne Weile am Suchen, finde aber nie die passenden Kombinationen...
Also, prinzipiell habe ich:
Eine Excel- Datei mit vier Spalten(Datum, Uhrzeit, Messwert1,Messwert2)
Hieraus möchte ich eine Trendlinie erstellen und diese Trendlinie mit der Matlab Optimierungsfunktion optimieren...
Dazu sollte ich aber erst mal die Excel- Datei bearbeiten können.
"Importiert" habe ich die Excel mit dem "Import Data" Button, dann habe ich:
Datum als double- Array, Messwert 1/2 als double; Uhrzeit als cell
ok, soweit so gut, wenn ich jetzt einen Plot haben will mit x,y Achse...
y Achse soll einen Messwert beinhalten, x Achse die Uhrzeit (mit Angabe des Datums, d.h. einmal Datum beim 00:00:00 Wert, dann die verschiedenen Uhrzeiten, dann neues Datum für neuen Tag und wieder die Uhrzeiten)
>> plot(Datum,LeistunggemessenW) liefert den Fehler Conversion to double from cell is not possible. Genau hier hänge ich jetzt, d.h. das Datum aus Excel gleich in eine Zahl umwandeln und dann importieren klappt auch nicht wirklich....
Hat jemand von Euch eine Hilfe (nehme gern auch nen Link) zur Hand wie ich vorgehen sollte...?
LG Basti
|
|
|
|
|
punkNgrind |

Forum-Century
|
 |
Beiträge: 136
|
 |
|
 |
Anmeldedatum: 10.03.11
|
 |
|
 |
Wohnort: Hamburg
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 15.07.2013, 13:13
Titel:
|
 |
Ohne mich jetzt genauer damit zu beschäftigen, aber ich glaube du solltest dich mit der Matlab-Hilfe mit folgenden Stichwörtern beschäftigen:
date
datestr
datenum
datetick
Ich hoffe du kommst damit weiter.
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 15.07.2013, 13:46
Titel: Re: Messwerte in x,y Plot
|
 |
Hallo BastiM,
Ich importiere lieber direkt mit XLSREAD. Bevor man nun genau verstehen kann, was an Deinem Code scheitert, müssten man noch den Code selbst sehen.
"Datum" scheint ein CELL zu sein, aber warum das so ist und welche Art von Elementen es enthält kann ich nicht erraten.
Gruß, Jan
|
|
|
BastiM |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 31
|
 |
|
 |
Anmeldedatum: 15.07.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.07.2013, 13:58
Titel:
|
 |
ok!
mit code meinst du was ich ins command- window eingebe?
>> plot(D,L)
Error using plot
Conversion to double from cell is not possible.
D (also Datum) ist cell, L (Messwerte) ist double).
D hat folgendes Format:
'05.07.13 14:20' (fortfolgend 2081 Zeilen)
|
|
|
BastiM |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 31
|
 |
|
 |
Anmeldedatum: 15.07.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.07.2013, 14:44
Titel:
|
 |
kleiner Nachtrag...
wenn ich in Excel vorher die Daten in der Datumsspalte:
formatieren ==> Zahl
ändere
dann erstellt matlab kein cell mehr, und die funktion
>> plot (D,L) erstellt dann gewünschten plot, allerdings eben ohne die richtig formatierte x- Achse...
Ich habe leider überhaupt keine Ahnung wie ich dies per Code so eingeben kann dass es funktioniert...
LG Basti
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 15.07.2013, 15:25
Titel:
|
 |
Hallo BastiM,
Woher kommt denn D genau?
Wenn D ein Cell-String ist, kannst Du es wie bereits von punkNgrind erwähnt per DATENUM umwandel:
Nach dem Zeichnen der Grafik erlaubt DATETICK hübschere Tick-Lables. Näheres dazu unter "doc datetick".
Gruß, Jan
|
|
|
BastiM |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 31
|
 |
|
 |
Anmeldedatum: 15.07.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.07.2013, 15:33
Titel:
|
 |
Hi,
schon mal Danke für alle Antworten!
D ist ein cell array(im Workspace dieses Vier- Quadranten- Symbol), erstellt über den Import Button von Matlab(Ursprung: xlxs- Datei)...
Wie gesagt, ich kann auch in Excel diese Spalte so umwandeln, dass ich ein Zahlenformat bekomme, bringt mich aber meiner Sache nicht näher..
Alternativ kann ich die Excel- Datei auch über xlsread einlesen, das hat schon soweit funktioniert, blos die weitere Datenverarbeitung ist noch ein Problem bisher...
|
|
|
BastiM |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 31
|
 |
|
 |
Anmeldedatum: 15.07.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.07.2013, 16:05
Titel:
|
 |
Das kommt dann als Fehlermeldung
>> Dnum = datenum(D, 'dd.mm.yy HH:MM');
Error using datenum (line 179)
DATENUM failed.
Caused by:
Error using dtstr2dtnummx
Failed on converting date string to date number.
kann leider die Excel- Datei hier nicht anhängen...
|
|
|
|
|
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.
|
|