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

Problem mit Abfrage für Schaltjahr

 

Vanadis
Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 14.06.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.08.2016, 15:26     Titel: Problem mit Abfrage für Schaltjahr
  Antworten mit Zitat      
Hallo!

Vielleicht kann mir jemand von euch helfen...

Ich bin auf der Suche nach dem passenden Befehl um erstens Abzufragen ob es ein Schaltjar ist oder nicht bzw ob es 365 oder 366 Tage hat und zweitens muss ich, wenn ich das Ergebnis habe, 365 oder 366 in einer Formel anwenden können.

Für das Schaltjahr hab ich es nunmal soweit geschafft:

Code:


if (mod(a,4) == 0) && mod(a,100) ~= 0
    disp(' 366 ');
elseif (mod(a,100)==0) && mod(a,4)~=0
    disp(' 366');
elseif (mod(a,400) ==0)
    disp(' 366');
else
    disp(' 365');
end;

 


Mein Problem ist dass ich 366/365 in einer Formel weiterverwenden möchte:

Im Falle es ist ein Schaltjahr:

Jahr + Tag/366 + Stunde/(366*24)

Und wenn nicht:

Jahr + Tag/365 + Stunde/(365*24)


Hoffe ihr versteht was ich meine!!

Vielen Dank für eure Bemühungen!
Private Nachricht senden Benutzer-Profile anzeigen


AKNOT
Forum-Century

Forum-Century


Beiträge: 129
Anmeldedatum: 12.10.11
Wohnort: Bochum
Version: R2018a
     Beitrag Verfasst am: 02.08.2016, 15:30     Titel:
  Antworten mit Zitat      
Vermutlich versteh ich es nicht ganz...warum schreibst du statt "disp" nicht den Wert in eine Variable und rechnest dann damit weiter?
Private Nachricht senden Benutzer-Profile anzeigen
 
Vanadis
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 14.06.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.08.2016, 15:50     Titel:
  Antworten mit Zitat      
Hoppala DANKE, sollte vielleicht dazu sagen, dass ich ein ziemlicher Matlab-Neuling bin...

hab es jetzt so geändert

Code:


if (mod(a,4) == 0) && mod(a,100) ~= 0
    Sj=[366]
elseif (mod(a,100)==0) && mod(a,4)~=0
    Sj=[366]
elseif (mod(a,400) ==0)
    Sj=[366]
else
    Nj=[365]
end;

 


Wie gehe ich das nun weiter richtig an? (Erneut mit einer If-Abfrage? Ich bin etwas planlos.. )

Wenn ich ein Schaltjahr (Sj) habe verwende ich in meiner Formel 366 Tage, und
wenn ich ein normales Jahr (Nj) habe verwende ich 365 Tage.


Im Falle es ist ein Schaltjahr:
Jahr + Tag/366 + Stunde/(366*24)

Und wenn nicht:
Jahr + Tag/365 + Stunde/(365*24)

Danke!!!
Private Nachricht senden Benutzer-Profile anzeigen
 
AKNOT
Forum-Century

Forum-Century


Beiträge: 129
Anmeldedatum: 12.10.11
Wohnort: Bochum
Version: R2018a
     Beitrag Verfasst am: 02.08.2016, 16:00     Titel:
  Antworten mit Zitat      
Code:



if (mod(a,4) == 0) && mod(a,100) ~= 0
    Tage=366;
elseif (mod(a,100)==0) && mod(a,4)~=0
    Tage=366;
elseif (mod(a,400) ==0)
    Tage=366;
else
    Tage=365;
end;


x = Jahr + Tag/Tage + Stunde/(Tage*24)

 
Private Nachricht senden Benutzer-Profile anzeigen
 
Vanadis
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 14.06.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.08.2016, 16:12     Titel:
  Antworten mit Zitat      
Vielen, vielen Dank!

Dachte, dass es viel komplexer sein wird Embarassed

Alles Liebe,
Vanadis
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

es gibt auch die Funktion eomday .

Auch die datetime , duration und calendarDuration Funktionen können hilfreich sein.

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.