ελαφρώς off topic
@akalest0s, ήθελα να γράψω εδώ και μέρες μια απάντηση αλλά τα κλασικά περί έλλειψης χρόνου...
από το θέμα 73 η βασική ιδέα (αν και δεν θυμάμαι μήπως το έχω δεί και σε άλλο σημείο σε αυτό ή σε άλλο βιβλίο)
#-*- coding: utf-8 -*-
import random, math
for j in range(2,7):
x=[]
y=[]
count=0
N=pow(10,j)
for i in range(N):
x.append(random.random())
y.append(random.random())
if y[i]<= math.sqrt(1-x[i]**2):
count+=1
print 'σημεία Ν=', N
mypi= float(4*count)/N
print 'εκτιμώμενη τιμή του αριθμου π :', mypi
print 'error:', abs(math.pi - mypi )
Πειραματική επαλήθευση του αριθμού π.
Κάθε κύκλος με ακτίνα την μονάδα, έχει εμβαδόν π.
Η εξίσωση κύκλου με κέντρο την αρχή τον αξόνων και ακτίνα 1 είναι x^2+y^2=1
(την εξίσωση την βλέπουν οι μαθητές στην Β' Λυκείου)
Επιλέγουμε τυχαία σημεία στο πρώτο τεταρτημόριο, στο παράδειγμα αρκετά απλά
-προφανώς μπορεί να γίνει επέκταση σε άλλο μάθημα για τους τρόπους που μπορούμε να παράξουμε αριθμούς-
και μετράμε τα σημεία που βρίσκονται εντός του κυκλικού δίσκου. Ο λόγος των εντός σημείων προς το σύνολο δίνει το ζητούμενο.
Παρατηρούμε ότι με σχετικά "λίγα" σημεία η προσέγγιση είναι αρκετά καλή.
εδώ μια έξοδος:
σημεία Ν= 100
εκτιμώμενη τιμή του αριθμου π : 3.28
error: 0.13840734641
σημεία Ν= 1000
εκτιμώμενη τιμή του αριθμου π : 3.124
error: 0.0175926535898
σημεία Ν= 10000
εκτιμώμενη τιμή του αριθμου π : 3.1664
error: 0.0248073464102
σημεία Ν= 100000
εκτιμώμενη τιμή του αριθμου π : 3.13436
error: 0.00723265358979
σημεία Ν= 1000000
εκτιμώμενη τιμή του αριθμου π : 3.143072
error: 0.00147934641021
και φυσικά το πιο "πιασάρικο" ως εξτρά δυνατότητα, η αναπαράσταση με γραφικό τρόπο
(εδώ για 2000 σημεία)
