Github #246 Pi computed incorrectly

I incorrectly used area * pts/N to comput pi,which happens to
work if radius = 1, but fails otherwise.
This commit is contained in:
Roger Labbe committed 2018-09-16 10:08:46 -07:00
1 parent 5410867608
commit fb110beeb0
2 files changed
+7 -5

No files matched your search

+3 -1
View File
@@ -542,8 +542,10 @@
]
},
{
"cell_type": "markdown",
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"The result of the multiplication is taller and narrow than the original Gaussian but the mean is unchanged. Does this match your intuition?\n",
"\n",
+4 -4
View File
@@ -36,7 +36,7 @@
" <style>\n",
" .output_wrapper, .output {\n",
" height:auto !important;\n",
" max-height:10000px; \n",
" max-height:100000px; \n",
" }\n",
" .output_scroll {\n",
" box-shadow:none !important;\n",
@@ -111,7 +111,7 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<Figure size 900x400 with 2 Axes>"
]
@@ -287,7 +287,7 @@
"from numpy.random import uniform \n",
"\n",
"N = 20000 # number of points\n",
"radius = 1\n",
"radius = 1.\n",
"area = (2*radius)**2\n",
"\n",
"pts = uniform(-1, 1, (N, 2))\n",
@@ -297,7 +297,7 @@
"in_circle = dist <= 1\n",
"\n",
"pts_in_circle = np.count_nonzero(in_circle)\n",
"pi = area * (pts_in_circle / N)\n",
"pi = 4 * (pts_in_circle / N)\n",
"\n",
"# plot results\n",
"plt.scatter(pts[in_circle,0], pts[in_circle,1], \n",