|
jediforce |
Forum-Anfänger
|
|
Beiträge: 36
|
|
|
|
Anmeldedatum: 18.09.09
|
|
|
|
Wohnort: Zang
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.09.2009, 10:24
Titel: Alter berechnen
|
|
Hi,
ich probier gerade ein alter zuberechnen.
Bis jetzt war meine Idee, einefach als serial datum zu nehmen, subtrahiren und dann die Jahreszahl zu nehmen. Das klappt leider nur halb. Ich tue dann noch 2 Tage drauf rechnen un d dann klappt es für alle Tage bis 92, alles was älter ist muss man nur 1 draufzählen. (zumdienst haben das meine Test bis jetzt ergeben)
Ich hab leider keine Ahnung warum.
Gibt es nicht einen bessern Trick das Alter ausrechnen oder kann mir jeamnd erklären warum des das oben so ist?
Sonst schreib ich halt mithilfe von if, eine kleine Funktion.
|
|
|
|
|
Sani |
Forum-Anfänger
|
|
Beiträge: 32
|
|
|
|
Anmeldedatum: 03.09.09
|
|
|
|
Wohnort: Neu-Ulm
|
|
|
|
Version: R2007b
|
|
|
|
|
|
Verfasst am: 21.09.2009, 11:08
Titel:
|
|
plotte doch mal deinen code vllt ist es nur ein kleiner denkfehler...
_________________
Wer Rechtschreibfehler findet darf sie behalten.
Codefehler bitte melden
|
|
|
jediforce |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 36
|
|
|
|
Anmeldedatum: 18.09.09
|
|
|
|
Wohnort: Zang
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.09.2009, 14:46
Titel:
|
|
naja, wirklich code würd des nicht nenen
Also der stimmt jetzt für alles was älter ist als 1991.
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 21.09.2009, 15:29
Titel:
|
|
Hallo, ich würde so machen
|
|
|
jediforce |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 36
|
|
|
|
Anmeldedatum: 18.09.09
|
|
|
|
Wohnort: Zang
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.09.2009, 15:37
Titel:
|
|
hi, danke für die antowrt. Das ganze auf Basis von sekunden zu berechnen ist auch nicht schlecht (vieleicht kann ich den befehl mal bruachen). Aber ich glaube da kommt das Problem mit den Schaltjahren auf. Wenn man deinen Code eingibt kommt 33 jahre aus, beim testen hab ich festgestllt das er schon 11 tage zufrüh umschaltet.
Aber ich finde es komisch das Matlab für was keine Funktion hat.
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 21.09.2009, 15:50
Titel:
|
|
Stimmt, du hast recht, war auf etime-Befehl fixiert,
aber es geht ja viel einfacher und sollte richtig funktionieren
oder alles in einer Zeile
PS: Grenzfälle muss du aber trotzdem abfangen,
1) Datum1 >=Datum2
2) Alter von Kinder unter einem 1 Jahr
3) 29 Februar
|
|
|
jediforce |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 36
|
|
|
|
Anmeldedatum: 18.09.09
|
|
|
|
Wohnort: Zang
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.09.2009, 09:07
Titel:
|
|
Hi,
wenn ich es richtig versthe läuft des Programm so ab:
es rechnet den unterscheid für Tage/Moante Jahre aus. Wenn einer der Tage oder Monate kleine als 0 ist, wird ein jahr abgezogen. Wenn man aber z.b. als Datum den 10. Dezember nimmt. Ist zwar beim Monat ein Minus, aber bei den Tagen nicht. Darum zieht er des Jahr Trotzdem ab.
Mein Vorschlag:
Die datevec scheint intellignet zu sein, wenn es in einem Jahr den 29.2. gabs wird der eingetragen, wenn nicht wird er durch 1.3. ersetz, also gibt es nur Probs wenn der Mensch etwas falsch eingibt.
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 23.09.2009, 02:01
Titel:
|
|
Hallo,
Zitat: |
wenn ich es richtig versteh läuft des Programm so ab:
es rechnet den unterschied für Tage/Monate Jahre aus. Wenn einer der Tage oder Monate kleine als 0 ist, wird ein jahr abgezogen. |
Richtig.
Aber mit 10.Dezember habe jetzt nicht ganz verstanden,was du meinst?
29.Februar kann man als Geburtsdatum ganz ausschließen, weil registriert in Urkunde wird glaube ich immer 1.3
|
|
|
jediforce |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 36
|
|
|
|
Anmeldedatum: 18.09.09
|
|
|
|
Wohnort: Zang
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.09.2009, 08:28
Titel:
|
|
Okey neuer Versuch, es wir dja abgefragt ob einer der Zahlen kleiner als Null ist.
Wenn man jetzt den 8. Dezember 2000 als auswerte datum nimmt, und am 10. September 1990 geburtstag habe. Als Vektor kommt dann (10,3,-2...) raus. Da eine Zahl kleiner als Null ist, wird eins Abgezogen so ist die Person laut der Anzeige 9 Jahre alt, aber 10.Dezember wird wieder alles richtig angezeigt.
Darum hab ich den Code von dir so verändert das Tage und Moante getrennt abgefragt werden. Bis jetzt hat es immer gepasst, aber vieleicht gibt ja noch mehr Denkfehler von mir.
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 23.09.2009, 10:31
Titel:
|
|
Ach so!
Im Prinzip sollte man sich immer auf Papier zuerst alle Grenzfälle überlegen.
z.b Geburtsdatum ist am 31.Jan.
dann sind Grenzfälle
1) 30. Jan
2) 1.Feb
3) Geburtsjahr gleich Auswertejahr: Alter wird in Monaten eingegeben
Das habe ich leider nicht gemacht und deswegen hast du hier Recht.
Und dein Code scheint bei Grenzfällen 1 und 2 richtig zu funktionieren
Ob du 3 brauchst, ist wohl von Anwendung abhängig
|
|
|
jediforce |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 36
|
|
|
|
Anmeldedatum: 18.09.09
|
|
|
|
Wohnort: Zang
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.09.2009, 08:52
Titel:
|
|
Also noch vielen DANK, ist mirauch erst aufgefallen als ich damit etwas gespielt habe.
Ich denk es ist jetzt alles bedacht und klappt.
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| 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.
|
|