2016-10-03 9 views
0

Ich habe 200 Datenpunkte aus dieser Schleife verstreut:Wie man die Anzahl der Datenpunkte zählt?

import math 
plt.figure() 

for i in range(200): 
    r=random.uniform(-1,1) 
    x=random.uniform(-1,1) 
    if math.sqrt(x**2+r**2)<1: 
     plt.plot(x,r,'r.') 
    else: 
     plt.plot(x,r,'k.') 
redraw() 

So wird es eine Reihe von Plots, die die if Bedingung erfüllt. Ich möchte die Anzahl dieser Punkte wissen. Was soll ich machen?

+3

eine Variable hinzufügen und diese eins erhöhen innerhalb des if. (Natürlich muss es außerhalb der Schleife erstellt werden) – sascha

+0

Versuchen Sie, einen schattierten Kreis zu zeichnen? – Natecat

+0

@Natecat Ich denke, er nähert sich ** pi ** (von Monte-Carlo Sampling). Aber der Code ist immer noch unvollständig. – sascha

Antwort

3

würden Sie haben soeben einen Zähler erhöhen müssen, wenn die Bedingung erfüllt ist:

import math 
plt.figure() 

good_samples = 0 
for i in range(200): 
    r=random.uniform(-1,1) 
    x=random.uniform(-1,1) 
    if math.sqrt(x**2+r**2)<1: 
     plt.plot(x,r,'r.') 
     good_samples += 1 
    else: 
     plt.plot(x,r,'k.') 
redraw() 
print "Counted {} good samples".format(good_samples) 
Verwandte Themen