profil:klasse10:abschnitt-10-1-2
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| profil:klasse10:abschnitt-10-1-2 [2022/01/22 16:14] – [Monte-Carlo-Methode] lutz | profil: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 | + | * Eingabe minimale |
| * 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 | + | * Eingabe minimale |
| * 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 301: | Zeile 301: | ||
| $$\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, | ||
| + | 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(" | ||
| + | print(" | ||
| + | print() | ||
| + | p = int(input(" | ||
| + | t = 0 | ||
| + | for i in range(p): | ||
| + | x = koordinate() | ||
| + | y = koordinate() | ||
| + | if (x**2+y**2)**(1/ | ||
| + | t += 1 | ||
| + | print(" | ||
| + | print() | ||
| + | if input(" | ||
| + | break | ||
| + | </ | ||
| + | |||
| + | **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.1642864449.txt.gz · Zuletzt geändert: von lutz
