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

Zeile für bestimmten Wert aus Matrix angeben

 

Sophia15
Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 26.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.03.2018, 14:25     Titel: Zeile für bestimmten Wert aus Matrix angeben
  Antworten mit Zitat      
Hallo Leute,

ich soll aus Messdaten einen bestimmten Zeitraum untersuchen.
Hierfür würde ich gerne die Zeilennummer des Anfangsdatums und des Enddatums herausfinden.
Für den Anfangspunkt habe ich bereits folgenden Code verwendet:
Code:

Anfang = (01.01.1971 01:00 'dd.MM.yyyy HH:mm')

for 1:size(Zeitreihe)
    if (Zeitreihe(i,1)== Anfang)
        Zeilennummer = i
    end
end
 


Allerdings gibt es ein Fehler in der ersten Zeile und Matlab kann damit leider nichts anfangen.

Kann mir jemand sagen, was ich falsch mache?
Über eure Hilfe wäre ich sehr dankbar! Smile

Liebe Grüße Sophia
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 22.03.2018, 15:47     Titel:
  Antworten mit Zitat      
Hallo,

Gegenfrage: was willst du MATLAB denn mit der ersten Zeile mitteilen?

Intuitiv würde ich sagen:
Code:
find( strcmp(Zeitreihe(:,1), 01.01.1971 01:00) )


Das hängt aber sehr davon ab, wie die Daten aufgebaut sind.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 26.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.03.2018, 10:53     Titel:
  Antworten mit Zitat      
Hallo Harald,

ich wollte mit der ersten Zeile einen Punkt definieren, an dem ich dann die Zeilennummer auslesen kann.

Bei deinem Code wird mir leider der gleiche Fehler angezeigt, wie bei meinem. Er scheint das Datenformat nicht richtig zu erkennen.

Dieser Fehler wird angezeigt:
Error: File: Matlabcode.m Line: 28 Column: 35
Unexpected MATLAB expression.

Zur besseren Erklärung habe ich meine Tabelle einmal angehängt. Die Daten sollen für einen bestimmten Zeitpunkt ausgelesen werden, wie zum Beispiel durch das rote Rechteck gekennzeichnet.
Meine Idee war, dass ich zunächst die Zeilennummer für ein bestimmtes Anfangs- und Enddatum auslesen lasse und die Tabelle dann anpasse.

Falls du eine einfachere Lösung hast, wäre das natürlich auch super (:

Viele Grüße,
Sophia
Private Nachricht senden Benutzer-Profile anzeigen
 
Sophia15
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 26.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.03.2018, 10:59     Titel:
  Antworten mit Zitat      
Hier jetzt auch wirklich das Beispiel dazu und gleichzeitig habe ich den Fehler, der im Code direkt angezeigt wird noch mit eingefügt.

Fehler.JPG
 Beschreibung:
angezeigter Fehler

Download
 Dateiname:  Fehler.JPG
 Dateigröße:  26.94 KB
 Heruntergeladen:  316 mal
Zeilennummer auslesen.JPG
 Beschreibung:
Meine Datei

Download
 Dateiname:  Zeilennummer auslesen.JPG
 Dateigröße:  63.36 KB
 Heruntergeladen:  296 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 23.03.2018, 11:07     Titel:
  Antworten mit Zitat      
Hallo,

kleiner Fehler:
Code:
find( strcmp(Zeitreihe(:,1), '01.01.1971 01:00') )


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

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 26.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.03.2018, 11:59     Titel:
  Antworten mit Zitat      
Hallo,

also es scheint zu funktionieren. Er rechnet zumindest. Allerdings ist das Ergebnis dann:

Code:


Damit kann ich leider nicht wirklich was anfangen.

Viele Grüße
Sophia
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

dann hänge bitte deinen Datensatz an, bzw. einen kleineren Beispieldatensatz mit dem Problem. Sonst kann ich nämlich mit dem Problem nichts anfangen...

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 26.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.03.2018, 19:58     Titel:
  Antworten mit Zitat      
Hallo,

hier ein Teil meines Codes und schon mal vielen Dank!!

Viele Grüße
Sophia

Teil des Codes.mat
 Beschreibung:

Download
 Dateiname:  Teil des Codes.mat
 Dateigröße:  1.97 KB
 Heruntergeladen:  256 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

die erste Spalte sind datetimes, keine Zeichenketten. Also:
Code:
find( Referenzzeitraum1.Zeit == datetime(1960, 1, 1, 10, 0, 0))


Wenn das Datum nicht enthalten ist, kommt allerdings auch hier [ ] raus, deswegen habe ich ein anderes Datum verwendet.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 26.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.03.2018, 18:01     Titel:
  Antworten mit Zitat      
Hallo Harald,

vielen Dank für deine Hilfe, es hat jetzt funktioniert.

Danke und viele Grüße
Sophia
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 - 2024 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.