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:08] – [Buffonsches Nadelproblem] 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 279: Zeile 281:
 Führe den Versuch mit einer Schachtel Streichhölzer mindestens zehnmal durch. Erfasse deine Messwerte in einem Tabellenkalkulationsprogramm! Führe den Versuch mit einer Schachtel Streichhölzer mindestens zehnmal durch. Erfasse deine Messwerte in einem Tabellenkalkulationsprogramm!
  
-===Monte-Carlo-Methode===+====Monte-Carlo-Methode===
 + 
 +Leider lässt sich das Verfahren von Buffon nicht mit dem Computer simulieren, deshalb wollen wir noch ein weiteres Verfahren zu Bestimmung von π kennenlernen. 
 + 
 +Wir betrachten ein Quadrat mit der Kantenlänge 2 und einen Kreis mit dem Radius 1 um den Koordinatenursprung: 
 + 
 +{{ :profil:klasse10:montecarlo.png?400 |}}  
 + 
 +Für den Flächeninhalt des Quadrats gilt: 
 + 
 +$$A_Q = a^2 = 2^2 = 4$$ 
 + 
 +Für den Flächeninhalt des Kreises gilt: 
 + 
 +$$A_K = \pi \cdot r^2  = \pi \cdot 1^1 = \pi$$ 
 + 
 +Setzt man die beiden Flächeninhalte ins Verhältnis, so ergibt sich: 
 + 
 +$$\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.1642860521.txt.gz · Zuletzt geändert: von lutz