Benutzer-Werkzeuge

Webseiten-Werkzeuge


profil:klasse10:abschnitt-10-1-2

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
profil:klasse10:abschnitt-10-1-2 [2022/01/22 15:46] – [Monte-Carlo-Methode] lutzprofil:klasse10:abschnitt-10-1-2 [2022/01/28 10:18] (aktuell) – [Regula Falsi] lutz
Zeile 36: Zeile 36:
 <WRAP box round> <WRAP box round>
   * Eingabe Intervallgrenzen $a$ und $b$ mit $f(a) \cdot f(b) < 0$    * Eingabe Intervallgrenzen $a$ und $b$ mit $f(a) \cdot f(b) < 0$ 
-  * Eingabe minimale Intervallgrenze $l$+  * Eingabe minimale Intervalllänge $l$
   * Solange $\vert a-b \vert > l$ ist:   * Solange $\vert a-b \vert > l$ ist:
     * $m = \dfrac{a+b}{2}$     * $m = \dfrac{a+b}{2}$
Zeile 142: Zeile 142:
 <WRAP box round> <WRAP box round>
   * Eingabe Intervallgrenzen $a$ und $b$ mit $f(a) \cdot f(b) < 0$    * Eingabe Intervallgrenzen $a$ und $b$ mit $f(a) \cdot f(b) < 0$ 
-  * Eingabe minimale Intervallgrenze $l$+  * Eingabe minimale Intervalllänge $l$
   * Solange $\vert a-b \vert > l$ ist:   * Solange $\vert a-b \vert > l$ ist:
     * $x_f = a - \dfrac{f(a) \cdot (b-a) }{f(b)-f(a)}$     * $x_f = a - \dfrac{f(a) \cdot (b-a) }{f(b)-f(a)}$
Zeile 264: Zeile 264:
 ===Der Versuch=== ===Der Versuch===
 Für den Versuch benötigt man viele Stäbchen (Nadeln, Steichhölzer) der Länge d. Zunächst zeichnet man auf ein Blatt Papier parallele Linien, die den Abstand 2d haben. Danach wirft man die Streichhölzer zufällig auf das Blatt Papier.  Für den Versuch benötigt man viele Stäbchen (Nadeln, Steichhölzer) der Länge d. Zunächst zeichnet man auf ein Blatt Papier parallele Linien, die den Abstand 2d haben. Danach wirft man die Streichhölzer zufällig auf das Blatt Papier. 
 +
 +{{ :profil:klasse10:versuch.png?600 |}}
  
 Nun zählt man die Stäbchen, die die Linie kreuzen. Der Quotient aus der Anzahl aller Stäbchen $N_A$ und der Anzahl der Stäbchen, die die Linie kreuzen $N_C$ ergibt einen Näherungswert für π. Nun zählt man die Stäbchen, die die Linie kreuzen. Der Quotient aus der Anzahl aller Stäbchen $N_A$ und der Anzahl der Stäbchen, die die Linie kreuzen $N_C$ ergibt einen Näherungswert für π.
Zeile 298: Zeile 300:
  
 $$\dfrac{A_K}{A_Q} = \dfrac{\pi}{4}$$ $$\dfrac{A_K}{A_Q} = \dfrac{\pi}{4}$$
 +
 +Um nun einen Näherungswert für π zu ermitteln erzeugt man Punkte mit zufälligen Koordinaten, die im Bereich von -1 bis 1 liegen. Danach zählt man die Punkte die innerhalb des Kreises liegen und dividiert sie durch die Gesamtzahl der Punkte. So erhält man einen Näherungswert für $\frac{\pi}{4}$, den man nur noch mit 4 multiplizieren muss.
 +
 +Das folgende Pythonprogramm ermittelt nach Eingabe der Anzahl der Punkte einen Näherungswert für $\pi$:
 +
 +<code python montecarlo.py>
 +# Modul random importieren
 +import random
 +
 +# Zufallszahlengenerator initialisieren
 +random.seed()
 +
 +# erzeugt eine Koordinate im Bereich von -1 bis 1
 +def koordinate():
 +    # random.random() erzeugt Zufallszahl im Bereich von 0 bis 1
 +    test = random.random()
 +    if test > 0.5:
 +        return random.random()
 +    else:
 +        return -random.random()
 +
 +while True:
 +    print()
 +    print("Monte Carlo")
 +    print("***********")
 +    print()
 +    p = int(input("Anzahl Punkte: "))
 +    t = 0
 +    for i in range(p):
 +        x = koordinate()
 +        y = koordinate()
 +        if (x**2+y**2)**(1/2) < 1:
 +            t += 1
 +    print("Näherungswert für pi:",4*t/p)
 +    print()
 +    if input("Nochmal? (J/N) ") == "N":
 +        break
 +</code>
 +
 +**Aufgabe 26**
 +
 +Teste das Programm. Versuche es zu verstehen und setze die entsprechenden Kommentare im Quelltext.
 +
 +**Aufgabe 27**
 +
 +Ermittle π für 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000 Punkte und berechne die Abweichung vom tatsächlichen Wert von π. Nutze dazu ein Tabellenkalkulationsprogramm.
profil/klasse10/abschnitt-10-1-2.1642862788.txt.gz · Zuletzt geändert: von lutz