Dr. Joachim Schlosser

Führung | Effektivität | Fotografie

  • Über
    • Bio und Pressefotos
    • Bio and Photos (English)
  • Werkzeuge
    • Sketchnotes
  • Speaking
  • Kontakt
    • Produkte

Ostern ausrechnen in MATLAB

Jedes Jahr befindet sich der Ostersonntag in einer anderen Woche? Aber welcher?

Die Antwort ist eben so einfach wie komplex: Man bestimme den ersten Sonntag nach dem ersten Vollmond im Frühling. (Wikipedia, Lizenz CC-BY-SA)

Das lässt sich dank Carl Friedrich Gauß ausrechnen, zusammen mit einigen Verbesserungen seines Algorithmus (Wikipedia).

Als Rechenwerkzeug nutze ich MATLAB, deswegen hier die Berechnung des Ostersonntages nach der ergänzten Gauß-Methode als MATLAB Code:

function ostersonntag = ostern(year) 
    K = fix(year/100);                  % 1.  Säkularzahl
    M = 15 + fix((3*K + 3)/4) - fix((8*K + 13)/25); % 2. säkulare Mondschaltung
    S = 2- fix((3*K + 3)/4);            % 3.  säkulare Sonnenschaltung
    A = mod(year,19);                   % 4.  Mondparameter
    D = mod((19*A + M),30);             % 5.  Keim für den ersten Vollmond im Frühling
    R = fix((D + fix(A/11))/29);        % 6.  kalendarische Korrekturgröße
    OG = 21 + D - R;                    % 7.  Ostergrenze
    SZ = 7 - mod((year + fix(year/4) + S),7); % 8.  erster Sonntag im März
    OE = 7 - mod((OG - SZ),7);          % 9.  Entfernung des Ostersonntags von der Ostergrenze 
    OS = OG + OE;                       % 10. Datum des Ostersonntags als Märzdatum
    ostersonntag = datetime(year,3,1) + OS - 1; % 11. Ostersonntag als Datum
    ostersonntag.Format = 'dd.MM.yyyy';
end

Den Ostersonntag in 2015 rechne ich nun aus mittels

eastersun = ostern(2015)
eastersun = 

   05.04.2015

Möchte ich die Daten aller Ostersonntage der Jahre 1000 bis 2500 wissen, rufe ich diese Funktion auf wie folgt:

eastersun = ostern(1000:2500);

Um herauszufinden, welche Tage besonders oft vorkommen, brauchen wir nur Monat und Tag in der Ausgabe. Die datetime-Klasse erlaubt das einfache Rechnen und manipulieren von Daten.

Das Jahr setzen wir auf 0, damit die Sortierung funktioniert.

eastersun.Format='dd.MM.';
eastersun.Year=0;

Das Histogramm ergibt dann die Anzahl der Ostersonntage für ein bestimmtes Datum:

hist(categorical(eastersun));

Dieses Histogramm verschönern wir noch ein wenig:

distri = gca;
distri.XTickLabelRotation = 60;
distri.YGrid = 'on';
distri.YMinorGrid = 'on';

Ostersonntage

Published with MATLAB® R2015a

Foto: Joachim Schlosser

Teilen & Verweilen

Ähnliche Beiträge:

  • Allen Antworten in E-Mail – 4 Gründe dagegen
  • Quellen zitieren beim Bloggen – mit Markdown und Zotero
  • Muster versus Zuschreibung in Kommunikation
  • LaTeX-Buch Auflage 7
  • Excel-Tabellen im operativen Betrieb - es ist Software!

Kategorie: Technologie Stichworte: Berechnung, Datum, Gauß, MATLAB, Ostern

30. März 2015 von Joachim Schlosser Kommentar verfassen

E-Mail effizient einsetzen

Kostenloses eBook

Das eBook »E-Mail effizient einsetzen« zeigt Ihnen, wie Sie E-Mail besser nutzen. Mehr Info...

Ja, will ich haben!

Über 1800 E-Mail-Abonnenten!
« Lesen über Entscheidung: Decisive ‒ Chip & Dan Heath
10 Fragen zur Wahl der Schule – Welches Gymnasium soll es werden? »

Schreiben Sie einen Kommentar Antworten abbrechen

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

  • EnglishEnglish
E-Mail effizient einsetzen

Kostenloses eBook

Das eBook »E-Mail effizient einsetzen« zeigt Ihnen, wie Sie E-Mail besser nutzen. Mehr Info…

Ja, will ich haben!

Über 1900 E-Mail-Abonnenten!

RSS-Feed English RSS Feed

Ähnliche Beiträge:

  • Allen Antworten in E-Mail – 4 Gründe dagegen
  • Quellen zitieren beim Bloggen – mit Markdown und Zotero
  • Muster versus Zuschreibung in Kommunikation
  • LaTeX-Buch Auflage 7
  • Excel-Tabellen im operativen Betrieb - es ist Software!

Meistgelesen

  • Nennen Sie Ihre Quellen – Literaturverzeichnis mit Zotero. Sauber zitieren in Microsoft Word und LibreOffice
  • Unerwünschte LinkedIn- und Xing-Anfragen: 3 passende Antworten
  • Seltsame Umlaute in LaTeX: Zeichenkodierung prüfen
  • Papierlose Ablage – Mit Dokumenten­scanner zur digitalen Ablage
  • Über Dr. Joachim Schlosser
  • 1Password Cloud Keychain mit Dropbox nutzen – sicherer synchro­nisieren im Netz
  • Wissenschaftlicher Vortrag: Was ist wichtig?

Wer schreibt hier?

Hallo. Ich bin Dr. Joachim Schlosser. Beruflich führe ich bei Elektrobit Automotive Informatiker und Ingenieure, die Automobilfirmen zu Softwarearchitektur, Agile Entwicklung und Funktionale Sicherheit beraten. Daneben bin ich Autor eines LaTeX-Lehrbuches, MINT-Botschafter und blogge zweiwöchentlich hier auf www.schlosser.info.

Ich bin glücklich verheiratet, Vater dreier Kinder, Fotograf, bekennender Produktivitäts-Junkie und Getting-Things-Done Anhänger sowie Vortragscoach für meine Mitarbeiter und Kollegen. Über diese Themen schreibe ich auch hier.

Themen

Arbeit Bahn Buch Digitalisierung E-Mail Entscheidung Entwicklung Fokus Fotografie Führung Geschichte Gesellschaft Getting Things Done GTD Inspiration Internet Kinder Kommunikation Konferenz LaTeX Lernen Management Marketing MATLAB Modellierung Organisation Outlook Politik Produktivität Projekt Präsentation Psychologie Rede Roman Schreiben Simulation Simulink Software Technologie Video Vortrag Wahrnehmung Windows Wirtschaft Wissenschaft
  • Effektivität
  • Kommunikation
  • Technologie
  • Schreiben
  • Lesen
  • Fotografie

Copyright 2000–∞ Dr. Joachim Schlosser. Impressum. Datenschutzerklärung.

Manage Cookie Consent
Ich verwende Cookies, um diese Website und meinen Service zu optimieren.
Funktional Immer aktiv
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Voreinstellungen erforderlich, die nicht vom Abonnenten oder Nutzer beantragt wurden.
Statistics
The technical storage or access that is used exclusively for statistical purposes. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Aufforderung, die freiwillige Zustimmung Ihres Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht zu Ihrer Identifizierung verwendet werden.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Optionen verwalten Dienste verwalten Anbieter verwalten Lesen Sie mehr über diese Zwecke
Vorlieben
{title} {title} {title}

[emailsignup_uni source=popup bare=-1]