Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   
Bücher:

Studierende:
Praktikant Toolentwicklung Matlab (m/w)
Branche: Beratung, Expertise, Fahrzeugtechnik, Fahrzeugteile, Technische Dienstleistungen
MBtech Group GmbH & Co. KGaA - Fellbach

Abschlussarbeit / Praktikum: Entwicklung Matlab (m/w)
Branche: Informationstechnologie, Elektrotechnik, Elektronik
GIGATRONIK Technologies GmbH - Ulm

Studentischer Mitarbeiter (m/w) - DevOps / Toolentwicklung
Branche: mehrere
IAV GmbH - Ingenieurgesellschaft Auto und Verkehr - Berlin

Praktikant (m/w) Bereich Konzernvorausentwicklung - Aktoren sicherheitsrelevanter Anwendungen
Branche: Fahrzeugtechnik, Fahrzeugteile, Maschinentechnik, Industrietechnik
MAHLE International GmbH - Stuttgart

Praktikum - Softwareentwicklung Java
Branche: mehrere
IAV GmbH - Ingenieurgesellschaft Auto und Verkehr - Dresden, Gifhorn

weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

[2009b] Tildeoperator in datevec

 

matlab_gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.02.2013, 09:24     Titel: [2009b] Tildeoperator in datevec
  Antworten mit Zitat      
Hallo,
ich versuche über datevec meine Uhrzeit in Stunden, Minuten und Sekunden aufzuspalten.
Ich habe auch schon hier im Forum geschaut, da steht, dass man es folgendermaßen machen kann:

Code:
[~,~,~,HH,MM,SS] = datevec(t,'HH:MM:SS')


wobei t bei mir folgendermaßen aussieht: 09:13:42 vom Typ char

Hierbei bekomme ich jedoch immer folgende Fehlermeldung:

??? [~,~,~,HH,MM,SS] = datevec(t,'HH:MM:SS')
|
Error: Expression or statement is incorrect--possibly unbalanced (, {, or
[.

Nutze ich hingegen folgende Variante:
Code:
[HH,MM,SS] = datevec(t,'HH:MM:SS')


so bekomme ich als HH 2013, als MM 1 und als SS 1

kann mir jemand weiterhelfen, wie ich es schaffe hier die Uhrzeit auszulesen?

schon mal vielen Dank
Franzi


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.466
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 14.02.2013, 10:22     Titel:
  Antworten mit Zitat      
Bei mir (R2012b, Win7 64 Bit) läuft es wie gewünscht durch:

Code:

t='09:13:42';
[~,~,~,HH,MM,SS] = datevec(t,'HH:MM:SS')
HH =
     9
MM =
    13
SS =
    42
 


Gibt den
Code:
datevec(t,'HH:MM:SS')
 


was zurück? Wenn ja, dann liegt das Problem auf der linken Seite. Sind es -sorry- wirklich zwei eckige Klammern und nicht eine runde und eine eckige oder so ein Tippfehler?

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
matlab_gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.02.2013, 10:29     Titel:
  Antworten mit Zitat      
Hallo,

ich habe jetzt nochmal den Quellcode von Andreas bei kopiert und verwendet.

nutze ich nur datevec, bekomme ich folgendes Ergebniss:
Code:
datevec(t,'HH:MM:SS')
t =

09:13:45


ans =

        2013           1           1           9          13          45



Verwende ich folgende Variante:
Code:
>> t='09:13:42';
>> [~,~,~,HH,MM,SS] = datevec(t,'HH:MM:SS')
??? [~,~,~,HH,MM,SS] = datevec(t,'HH:MM:SS')
      |
Error: Expression or statement is incorrect--possibly unbalanced (, {, or [.


bekomme ich immer die selbe Fehlermeldung
Ich habe keine Ahnung wo ich da etwas falsch mache, von den Kammern her sieht meiner Meinung nach alles richtig aus.
 
matlab_gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.02.2013, 10:43     Titel:
  Antworten mit Zitat      
so, ich habe jetzt erst einmal drei dummy-variablen angelegt, die ich später nicht weiterverwende, um an die Zeitwerte zu kommen:

Code:
[u,v,w,HH,MM,SS] = datevec(akt_time,'HH:MM:SS');


das funktioniert so weit erst einmal. Falls mir trotzdem jemand sagen kann warum die variante mit ~ nicht funktioniert, wäre ich dankbar, falls ich in Zukunft mal wieder mit der Funktion arbeiten muss.

Viele Grüße
franzi
 
denny
Supporter

Supporter



Beiträge: 3.849
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 14.02.2013, 11:37     Titel:
  Antworten mit Zitat      
Hallo

kannst uns noch deine Matlab-Version verraten?
Es liegt nämlich daran, dass deine Matlab-Version noch keinen Tilde-Operator (~) unterstützt. das wurde erst ab 2009b eingeführt

Versuche ich z.B in 2009a den obigen Code auszuführen, bekomme ich die selbe Fehlermeldung, während in 2012b funktioniert das tadellos
Code:

??? [~,~,~,HH,MM,SS] = datevec(t,'HH:MM:SS')
      |
Error: Expression or statement is incorrect--possibly unbalanced (, {, or [.
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.466
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 14.02.2013, 11:38     Titel:
  Antworten mit Zitat      
Ja, das mit den Dummy-Variable ist ein Workaround den ich acuh vorgeschlagen hätte, aber der Effekt selber ist natürlich Besorgnis erregend...

Ich hätte gerne die Rückgabe des VER Kommandos per PN. Wenn es hier öffentlich geschieht, bitte die Lizenznummer aus XXXX en.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
matlab_gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.02.2013, 08:35     Titel:
  Antworten mit Zitat      
Hallo,

danke für den Hinweis Denny, ich verwende Matlab 2008, da scheint dies wohl tatsächlich noch nicht funktionieren.
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.466
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 18.02.2013, 08:55     Titel:
  Antworten mit Zitat      
OK, dann also kein Bug - ist mir lieber so.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
Verschoben: 18.02.2013, 10:50 Uhr von denny
Von GUIs nach Release-Fragen
 
xeeshjuli
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 23.04.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.04.2015, 05:15     Titel:
  Antworten mit Zitat      
Wenn ja, dann liegt das Problem auf der linken Seite. Sind es -sorry- wirklich zwei eckige Klammern und nicht eine runde und eine eckige oder so ein Tippfehler?
_________________

*Signature*
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.466
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 23.04.2015, 08:57     Titel:
  Antworten mit Zitat      
Auf der linken Seite sollten die äusseren Klammern immer die eckigen sein.

Nein, daran lag das Problem damals nicht, es war im Zusammenhang mit einer älteren Version zu sehen.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2017 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.