MuPAD Education Group: Kostenlose Materialen für MuPAD Pro:
www.sciface.com/education, schule.mupad.de, studium.mupad.de, mupad.zum.de.

________________________________________________________________________________

 

Inhalt....: Positionsfindung von Geburtsdaten in PI

Kategorie.: Arbeitsblatt

Mathematik: Zahlentheorie, Analysis, Numerik

MuPAD.....: 3.0.0

Datum.....: 2002-12-23

Autoren...: Roman Seidel <lop.invitor@gmx.de>

Funktionen: expr2text, read, write, stringlib::contains, save

________________________________________________________________________________

 

Positionsfindung von Geburtsdaten in PI oder

die Frage: "Ist PI normal?"

 

Wir wollen MuPAD benutzen, um in der Zahl PI nach Geburtsdaten zu suchen. Über allem

steht die bisher unbewiesene Vermutung, dass PI eine sogenannte normale Zahl ist. Diese

Vermutung besagt, dass jede nur erdenkliche Ziffernfolge irgendwo und irgendwann in

den Nachkommastellen der Zahl PI auftauchen soll. Ist diese Vermutung tatsächlich korrekt,

so sollte es leicht sein, z.B. seinen Geburtstag und Geburtstmonat in PI zu finden.

 

Um PI nicht bei jeder Suche neu generieren zu müssen, wird PI mit einer

gewünschten Länge generiert und in einer Datei gespeichert. Legen

Sie sich z.B. einen Ordner "tmp" auf dem Datenträger "c:/" an, so kann

die folgende Prozedur dazu genutzt werden, um PI auf eine vorgesehene

Anzahl von Nachkommastellen mit MuPAD zu berechnen und anschließend

automatisch in der Textdatei "PI.txt" im genannten Ordner zu speichern.

(Man kann hier natürlich auch einen anderen Pfad und einen beliebigen

Ordner wählen, indem man die Variable dateiName entsprechend anders

definiert).

 

dateiName:="c:/tmp/PI.txt":

piGenerieren:= proc(anzahl, dateiName)

save piText;

begin

  DIGITS:= anzahl;

  piText:= float(PI);

  piText:= stringlib::remove(expr2text(piText),".");

  write(Text, dateiName,piText);

  delete DIGITS;

  print(Unquoted, "PI wurde generiert und gespeichert.");

  return();

end_proc:

 

Nachdem PI mindestens einmal generiert wurde, kann PI aus der oben

angegebenen Datei mit Hilfe der folgenden Prozedur geladen werden:

 

piLaden:= proc(dateiName)

save piText;

begin

  piText:= read(dateiName);

  print(Unquoted, "Pi wurde geladen.");

  return(piText);

end_proc:

 

Nachdem PI geladen wurde, wird nun mit Hilfe der Funktion stringlib::contains

in PI nach gewünschten Geburtsdaten gesucht werden.

 

geburtstag:= proc(datum, piText)

  local ergebnis;

begin

  ergebnis:= stringlib::contains(piText,datum,Index);

  if ergebnis <> FALSE then

    stringlib::contains(piText,datum,Index);

  else

    print(Unquoted, "Nicht enthalten");

  end_if;

end_proc:

 

Hier sind einige Prozeduraufrufe als Beispiel: Zunächst generieren wir PI

auf 100 000 Nachkommastellen:

 

piGenerieren(100000, dateiName)

PI wurde generiert und gespeichert.

 

 

Jetzt laden wir PI in MuPAD (um es nicht jedesmal erneut berechnen

zu müssen - das spart eine Menge Zeit ;-)

 

piText:=piLaden(dateiName):

Pi wurde geladen.

 

 

Nun suchen wir einige Geburtsdaten in der Ziffernfolge:

 

geburtstag("1902", piText)

math

 

d.h. das Datum 19.02 taucht in PI zum ersten Mal an der Stelle 9846 auf.

 

geburtstag("0905", piText)

math

 

d.h. der 09.05 taucht zum ersten Mal an der Stelle 23683 auf.

 

geburtstag("2307", piText)

math

 

Dieser Geburtstag ist wohl nicht zu schlagen, denn er ist die erstmögliche

Ziffernkombination in PI, die tatsächlich einem Geburtstag entsprechen

kann. Überzeugen Sie sich selbst!

 

_______________________________________________________________________________

 

Anmerkungen:

1.  Weitere Anregungen finden Sie in der Buchreihe Mathematik 1 x anders. In dieser Reihe

     wird eine Vielzahl unterschiedlichster mathematischer Probleme mit MuPAD gelöst. Die

     Bücher können unter www.schule.mupad.de/literatur kostenfrei kopiert werden.

 

2.  Weitere Notebooks zu Näherungsverfahren, mit denen man die Zahl PI berechnen kann, finden sich

     unter www.schule.mupad.de/material zum freien Download.

 

3.  Eine genauere Diskussion des Verfahrens von Archimedes findet sich auch in dem Notebook

     "Berechnung_von_PI.mnb", das ebenfalls unter www.schule.mupad.de/material zum Download bereitsteht. 

_______________________________________________________________________________

 

 

 

MuPAD Education Group: Kostenlose Materialen für MuPAD Pro:
www.sciface.com/education, schule.mupad.de, studium.mupad.de, mupad.zum.de.