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

Index und Wert ausgeben

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.01.2017, 17:47     Titel: Index und Wert ausgeben
  Antworten mit Zitat      
Hallo Leute!

Ich möchte in einer Matrix mit 3 Spalten Datum, Wert 1, und Wert2 ein bestimmtes Datum suchen und die ganze Zeile dann ausgeben.
Hat hier wer eine Idee??


Grüße
Gerry


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.01.2017, 20:06     Titel:
  Antworten mit Zitat      
Hallo,

in welchem Format liegt das Datum denn vor? Als Zahl, datetime, oder ganz anders?

Mal ignorierend, dass es um Datumsangaben geht:
Code:
gesucht = M(:,1) == gesuchterWert;
M(gesucht, :)


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.01.2017, 21:33     Titel:
  Antworten mit Zitat      
Es ist als datetime-kann aber geändert werden...
An einem Tag gibt es aber mehrere Einträge (verschiedenen Uhrzeiten) -Ich benötige dann diese Einträge um sie zu plotten. zb: 01-Feb-2012 Wert1 Wert2 usw..
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.01.2017, 22:13     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Es ist als datetime

Dann kann das ganze ja aber keine Matrix sein. Vielleicht ein Table?

Falls du die Daten als Table hast und R2016b verwendest, empfiehlt sich eine Umwandlung als timetable. Dann kannst du auch eine timerange als Index verwenden.

Falls du ein vorheriges Release verwendest, dürfte isbetween helfen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.01.2017, 22:35     Titel:
  Antworten mit Zitat      
Hey! Super danke!

Kann man das einfach plotten??
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.01.2017, 22:42     Titel:
  Antworten mit Zitat      
Hallo,

die kurze Antwort: ja.
Eine längere Antwort würde davon abhängen, in welcher Form die Daten momentan vorliegen und wie du sie geplottet haben möchtest. Am besten wäre ein Datenbeispiel sowie der bisherige Code.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.01.2017, 22:53     Titel:
  Antworten mit Zitat      
Bsp:

[datetime] [double] [double]
01-Feb-2012 11:07:42 653.32 2875.5
01-Feb-2012 12:37:42 663.49 6533
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.01.2017, 22:55     Titel:
  Antworten mit Zitat      
Code:
load Uebung2.mat  % hier kamen die Daten aus Excel

TT = timetable(Datum,Batterieleistung,PVLeistung);

S = timerange('02/01/2012 00:00:01','02/01/2012 23:59:59');
TT2 = TT(S,:)


[EDITED, Jan, Bitte Code-Umgebung verwenden]
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.01.2017, 23:20     Titel:
  Antworten mit Zitat      
Hallo,

und wie möchtest du die Daten geplottet haben? Ein Beispiel wäre ein Scatter Plot:
Code:
scatter(TT2.Batterieleistung, TT2.PVLeistung)


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.01.2017, 23:23     Titel:
  Antworten mit Zitat      
Hallo!

Am besten mit Datum auf der X-Achse und die beiden Werte auf den Y-Achsen links und rechts.

Gerry
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.01.2017, 23:29     Titel:
  Antworten mit Zitat      
Hallo!

Ich habe es! Vielen Dank für die Hilfe!!!

Gerry
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.01.2017, 23:46     Titel:
  Antworten mit Zitat      
Hallo,

wenn du die Lösung deines Problems gefunden hast, dann poste sie bitte auch noch.
Andere, die später auf diesen Thread stoßen, werden sich freuen :)

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.01.2017, 00:16     Titel:
  Antworten mit Zitat      
Habe jetzt zwei Plotts. Einmal alles und einmal nur die Auswahl des Tages:

Code:
load Uebung2.mat

TT = timetable(Datum,Batterieleistung,PVLeistung);

figure(1);
hold on;
plot(TT.Datum, TT.Batterieleistung);
plot(TT.Datum, TT.PVLeistung)
title('PV-Auswertung')
xlabel('Datum')
ylabel('Leistung')
hold off;

S = timerange('02/01/2012 00:00:01','02/01/2012 23:59:59');
TT2 = TT(S,:)

figure(2);
hold on;
plot(TT2.Datum, TT2.Batterieleistung);
plot(TT2.Datum, TT2.PVLeistung);
title('PV-Auswertung')
xlabel('Datum')
ylabel('Leistung')
hold off;


[EDITED, Jan, Bitte Code-Umgebung verwenden - Danke!]
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 25.01.2017, 00:19     Titel:
  Antworten mit Zitat      
Hallo,

wenn die Spalten in unterschiedlichen Größenordnungen sind, kann das mit zwei unterschiedlich skalierten y-Achsen schöner aussehen, siehe yyaxis .

Grüße,
Harald
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.