Verfasst am: 07.01.2016, 16:13
Titel: Werte aus Tabelle finden
Ich versuche Messwerte(Leistung) von Häusern auszulesen. Alle 15min wurden Messwerte ausgelesen.
In der Tabelle wenn ich sie von excel in matlab inportiere, dann habe ich zu jedem Datum(wann die Messung durchgeführt wurde) einen Leistungswert. Ich kann die eizelnen Spalten der Tabelle abspeichern um damit weiter arbeiten zu können. Z.B. Die Leistungswerte unter leistung, und die Datumswerte unter datetime. Ich möchte nun vom 14.Oct den Leistungsverlauf darstellen. Dazu habe ich die Leistungswerte vom 14.Oct als neuen Array gespeichert. Anschließend habe ich auch die Datumswerte vom 14.Oct als neuen Array gespeichert. Jetzt kann ich das Diagramm plotten und mir ansehen wie der Leistungsverlauf von diesem Tag aussieht.
Nun folgende Frage:
Ist es möglich das anhand der Leistungswerte die Datumswerte bekomme, ohne einen neuen Array zu machen?
Verfasst am: 08.01.2016, 15:13
Titel: Re: Werte aus Tabelle finden
Hallo Lucky177654,
Zitat:
Ist es möglich das anhand der Leistungswerte die Datumswerte bekomme, ohne einen neuen Array zu machen?
Das ist noch nicht verständlich. Was bedeutet "ein neues Array machen"? Kannst Du den entsprechenden Matlab-Code posten? Zu erzählen, was im Code passieren soll, ist im Allgmeinen nicht nachvollziehbar.
plot(T_Oct_14,L_Oct_14,'r','LineWidth',2);
title('Tagesverbrauch vom 14.October2015');
legend('Leistungsverbrauch');
xlabel('Stunden');
ylabel('Leistung in kW');
grid;
hold on; %Leistungsverlauf 15.Oct
plot(T_Oct_15,L_Oct_15,'b','LineWidth',2);
title('Tagesverbrauch vom 15.October2015');
legend('Leistungsverbrauch');
xlabel('Stunden');
ylabel('Leistung in kW');
grid;
%Leistungsdifferenz 14.Oct
p2 = diff(L_Oct_14);
figure;
plot(T_Oct_14(1:95),p2,'b');
title('Leistungsverbrauch vom 14.Oct u. 15.Oct2015');
legend('Leistungsdifferenz 14.Oct');
xlabel('Stunden');
ylabel('Leistung in kW');
grid;
hold on;
%Leistungsdifferenz 15.Oct
p1 = diff(L_Oct_15);
plot(T_Oct_14(1:95),p1,'r');
legend('Leistungsdifferenz 15.Oct');
figure;
Ldiff = p1-p2;
plot(T_Oct_14(1:95),Ldiff,'g');
title('Leistungsverbrauch 14.Oct und 15.Oct');
legend('Leistungsdifferenz 15.Oct-14.Oct');
xlabel('Stunden');
ylabel('Leistung in kW');
grid;
Hab jetz mal meinen Code gepostet
Hier Vergleiche ich den LEistungsverbrauch von 2 Tagen (14.Oct und 15. Oct)
Zum plotten habe ich jeweils 4 Arrays erstellt (T_Oct_14, L_Oct_14, T_Oct_15, L_Oct_15) T ... Datum, L ... Leistung
Im Anhang habe ich die beiden Arrays, wie ich sie von Excel importiere. Nun zur Frage ist es möglich ohne zusätzlich Arrays zu erstellen die Leistung und das Datum vom 14. Oct zu plotten, daher den Tag auswählen, wlechen man plotten will und dazu die dazugehörige Leistung?
Ist es möglich das anhand der Leistungswerte die Datumswerte bekomme, ohne einen neuen Array zu machen?
Welches sind nun die "Leistungswerte"? Welches sind die "Datumswerte"? Was bedeutet "ein neues Array machen" und warum möchtest Du das vermeiden? Welche Teile des Codes sind für die Frage relevant?
Welches sind nun die "Leistungswerte"? Welches sind die "Datumswerte"? Was bedeutet "ein neues Array machen" und warum möchtest Du das vermeiden? Welche Teile des Codes sind für die Frage relevant?
Die Leistungswerte sind L_Oct_14 und L_Oct_15 (L...Leistung)
Die Datumswerte sind T_Oct_14 und T_Oct_15 (T ... Time)
Was bedeutet einen neuen Array erstellen: Hab im Anhang einen Screenshot gespeichert, welcher zeigt wie ich einenen neuen array erstelle. Im vorigen Kommentar habe ich die beiden Daten "leistung1" und "datetime2" angehängt.
Aus diesen habe ich die neuen arrays L_Oct_14, L_Oct_15, T_Oct_14 und T_Oct_15 erstellt - also per Hand die Datumswerte aus dem array "datetime" gesucht - markiert und anschließend per rechtsklick mit der maus einen neuen array erstellt.
Warum ich das vermeiden möchte? Wenn ich jetzt andere Leistungsverläufe von anderen Häusern nehme, muss ich das per Hand nocheinmal alles machen.Daher suche ich nach einer Möglichkeit, wo explizit die Datumwerte von einem bestimmten Tag oder Monat aus der Tabelle gesucht werden - und zu diesen die dazugehörigen Leistunsgwerte.
Der Code soll nur zeigen, wie ich das mit den selber erstellten arrays bis jetzt gemacht habe.
Welches sind nun die "Leistungswerte"? Welches sind die "Datumswerte"? Was bedeutet "ein neues Array machen" und warum möchtest Du das vermeiden? Welche Teile des Codes sind für die Frage relevant?
Die Leistungswerte sind L_Oct_14 und L_Oct_15 (L...Leistung)
Die Datumswerte sind T_Oct_14 und T_Oct_15 (T ... Time)
Was bedeutet einen neuen Array erstellen: Hab im Anhang einen Screenshot gespeichert, welcher zeigt wie ich einenen neuen array erstelle. Im vorigen Kommentar habe ich die beiden Daten "leistung1" und "datetime2" angehängt.
Aus diesen habe ich die neuen arrays L_Oct_14, L_Oct_15, T_Oct_14 und T_Oct_15 erstellt - also per Hand die Datumswerte aus dem array "datetime" gesucht - markiert und anschließend per rechtsklick mit der maus einen neuen array erstellt.
Warum ich das vermeiden möchte? Wenn ich jetzt andere Leistungsverläufe von anderen Häusern nehme, muss ich das per Hand nocheinmal alles machen.Daher suche ich nach einer Möglichkeit, wo explizit die Datumwerte von einem bestimmten Tag oder Monat aus der Tabelle gesucht werden - und zu diesen die dazugehörigen Leistunsgwerte.
Der Code soll nur zeigen, wie ich das mit den selber erstellten arrays bis jetzt gemacht habe.
Lg. Lucky
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
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.