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 16:25] – [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 305: Zeile 305:
 Das folgende Pythonprogramm ermittelt nach Eingabe der Anzahl der Punkte einen Näherungswert für $\pi$: 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.1642865122.txt.gz · Zuletzt geändert: von lutz