{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Problem 5. \n", "\n", "In class you used a Monte Carlo simulation to determine the probability of obtaining 60 or more heads in a trial of 100 flips of a fair coin. Let’s use the variable N for thenumber of trials used in a simulation. Modify your code so that it stores the data of the number of heads obtained in each “experiment” in an array.\n", "\n", "(a) Let N= 100 and a plot histogram of the data using the command\n", "\n", "plt.hist(data, 101, [30,70]])\n", "\n", "where data is the name of your array, 101 is the number of bins, and 30 and 70 are the lowest highest values of the number of heads that you want to consider.\n", "\n", "(b) Repeat for N = 100,000." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from scipy import stats\n", "\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ " \n", "# M.L. modifications of matplotlib defaults\n", "# Changes can also be put in matplotlibrc file, \n", "# or effected using mpl.rcParams[]\n", "#mpl.style.use('classic') \n", "plt.rc('figure', figsize = (6, 4.5)) # Reduces overall size of figures\n", "plt.rc('axes', labelsize=16, titlesize=14)\n", "plt.rc('figure', autolayout = True) # Adjusts supblot parameters for new size\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## (a)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "n_flips = 100\n", "flips=stats.randint.rvs(0,2,size=n_flips)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1,\n", " 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n", " 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0,\n", " 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0,\n", " 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1], dtype=int64)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "flips" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "41" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "n_heads = np.sum(flips)\n", "n_heads" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, let's do a bunch of experiments, each with 100 flips, so that we can figure what the probabilities are. E.g., prob(60 or more heads out of 100)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "N = 100\n", "results = np.zeros(N)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "for i in range(N):\n", " flips=stats.randint.rvs(0,2,size=n_flips)\n", " nheads = np.sum(flips)\n", " results[i] = nheads" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAAG4CAYAAABYTdNvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABMsElEQVR4nO3deXhN5/7//9eWEJkRDUKIeawhouaaaqq2hlJUW6XtqWp1UB9DJ9HS0HM4dFLUUdoaesy+qKE1taipJcaYpUGjigQR0/37o7+9jy07yWJHtsTzcV25zsm97rXu971W0rysvfa9bcYYIwAAAGQoj6cLAAAAyAkITQAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE3ALXj22Wdls9l05MgRT5eCXMBms6lp06ZZeszVq1fLZrMpOjo6S497O6Kjo2Wz2bR69epM+x45ckQ2m03PPvus5ePz+4jsRmjCPcf+H+c2bdqk22fjxo23/B9wq+Nm5TEBANmH0ATcgpiYGO3Zs0fFixf3dCmASw888ID27NmjV155xdOl3HH8PiK7eXu6ACAnKVasmIoVK+bpMoB0+fn5qVKlSp4uI1vw+4jsxp0m4Bak9wzFnDlz1KRJE4WGhip//vwKDw9XmzZtNH/+fEnSV199pdKlS0uSpk6dKpvN5vi68XmPixcvKjo6WpUqVVL+/PlVqFAhtWvXTuvXr3dZz59//ql//OMfCg0NlZ+fn+rUqaN58+bpq6++ks1m01dffeXoe+PLg3v37lWnTp1UuHBhp/nMmzdP3bt3V7ly5eTn56fg4GA1btxYc+bMSTP2jcfbs2ePHnnkERUoUEAFCxZU9+7d9eeff0qSfvnlF7Vs2VJBQUEqWLCgXnjhBV24cCHN8Y4dO6a9e/fq4sWLFq+GdPnyZY0ZM0aRkZHy9/dXYGCgGjdurIULF7rsHx8fr+7du6tQoUIKCAhQkyZNtHbtWpfP3rg6h3bpPTd0K+fvVl26dEmjR49WjRo1FBwcrICAAJUtW1bdu3dXbGxshrXZ55fe183PVWXVeb1dO3fuVNu2bRUcHKygoCA9+uij2r17d5p+rn4fb5z/tm3b1Lp1awUGBio4OFgdO3Z0+fzTtm3b1LlzZ5UsWVI+Pj4qUqSI6tevr5EjR972HJA7cacJcNP48ePVt29fFStWTB07dlRISIhOnDihTZs2af78+erQoYNq1qyp1157TePGjVONGjXUoUMHx/4RERGSpNTUVLVo0UIbN25UZGSkXn/9dSUmJmrWrFlavny5Zs2apU6dOjn2O3/+vJo0aaLdu3erUaNGatSokRISEtS9e3e1atUq3XoPHDigevXqqWrVqurZs6f++usv5cuXT5I0ZMgQ5cuXT40aNVKxYsV06tQpLVy4UJ07d9bHH3+sfv36pTne4cOH1aBBA0VFRen555/Xli1bNHPmTMXHx2vUqFFq2bKlWrZsqX/84x9avXq1vvzyS0nSpEmTnI7zzDPPaM2aNVq1apWlh6NTU1PVpk0brV69WrVq1dJzzz2nK1euaPHixWrfvr0++eQTp5eoTpw4ofr16yshIUGtW7dWZGSk9uzZo5YtW6pZs2aZjmfF7Zw/q3r27KnvvvtO1atXV69eveTj46Njx45p1apVat26te6///50903vfG7evFlLliyRn5+fo83T5/XQoUNq2LChHnjgAfXt21f79+/XvHnz9NNPP2n9+vWqXLmypeNs2bJF//znP9W0aVO9+OKL+vXXXzV//nzFxsZq586dyp8/vyTpt99+U4MGDeTl5aX27durVKlSOnv2rHbt2qVJkyZp8ODBtzwH5GIGuMccPnzYSDJly5Y1Q4cOdfn13HPPGUmmZ8+eTvv27NnTSDKHDx92tEVGRpp8+fKZxMTENGP9+eefaca9+Zh277//vpFkevToYa5fv+5o3759u/Hx8TEFCxY0SUlJjvZ33nnHSDIvv/yy03FWrVplJBlJZsqUKWnGl2TeffddlzUcPHgwTVtycrK5//77TXBwsLlw4YLL440dO9bRfv36dfPwww8bSaZAgQJm/vz5jm2XL1821atXN3nz5jUnT550GqdJkyZGklm1apXL2m721ltvGUkmOjra6XwlJSWZqKgoky9fPpOQkOBot1+74cOHOx1nwoQJjnncOPaUKVPSnEM7+zkeOnSoU/utnD9jjJFkmjRpkulcz549a2w2m4mKijJXr1512nb16lVz5syZTGu72eHDh819991nChYsaPbt2+dov9PnNaN67P3feecdp21Tp041kkzz5s2d2l39Pt748z9z5kyn/k8//bSRZGbMmOFo69+/v5FkFixYkKamG39/AWOMITThnnPjf5wz+7Iamvz9/Z3+cGU0bnqhqUyZMiZv3rwmPj4+zbYXX3zRSDJff/21oy0iIsL4+Pi4DGutW7dONzQVLVrUpKamZljrzUaPHm0kmdWrV6c5XpkyZcy1a9ec+k+bNs1IMs2aNUtzLHs4tBqOXLl27ZopWLCgKVeunNMfdruFCxcaSeaTTz4xxhiTmppq8ufPb0JDQ01KSkqaY1WoUCFLQlN6XJ0/Y6yHpnPnzhlJpmHDhpn2tVLbuXPnTNWqVY23t7dZuXKloz07zmt67D9PBQsWNOfPn3fadv36dVOtWjUjyRw7dszRnlFoevDBB9OMYd/Wv39/R5s9NC1fvjzTGgFensM9q3Xr1vr+++9dbtu4caPq169v6ThPPPGEBg8erGrVqqlbt25q2rSpGjVqpAIFCliuJSkpSYcOHVLlypVVokSJNNubNm2qCRMm6LffftNTTz2lpKQkHTlyRFWrVtV9992Xpn+DBg20bNkyl2PVqFHD8XLczRITEzVy5EgtXbpUR48eVUpKitP248ePuzxenjzOj0faH86tWbNmmv72bQkJCS5rsGLfvn06c+aMwsLCNGzYsDTbT506JUnau3evo/+lS5fUvHlzx8sydnny5FGDBg0UFxd32/XY3c75syIoKEht2rTR999/r8jISHXu3FmNGzdW3bp1072W6bl27Zq6d++uXbt2afz48WrRooVj291wXmvVqiV/f3+nNpvNpkaNGmnnzp3avn27wsPDMz1OZGRkmjb779bZs2cdbZ07d9bYsWPVoUMHPfHEE2rZsqUaNWqkkiVL3lLduDcQmgA3DRw4UCEhIfriiy80ZswYjR49Wt7e3nr44Yc1duxYxwPgGUlKSpIkFSlSxOX2okWLSpLOnTvn1N9VYMroOBlt++uvv1SnTh0dO3ZMDRs21EMPPaQCBQrIy8tLv/32mxYsWKDU1NQ0+wUFBaVp8/b2znTblStX0q0xM3/99ZckadeuXdq1a1e6/ewPnNvPW2hoqMt+GZ2vW6npds6fVbNnz9aHH36oGTNm6O2335YkBQYGqnfv3vrwww+dnkvKyJtvvqklS5bo1VdfVZ8+fdLMQfLsec3sWPYxMxMcHJymzf6zd+3aNUdb/fr19eOPPyomJkYzZsxwPPhfu3Zt/fOf/8yy592QOxCaADfZbDY9//zzev7553X69GmtW7dOM2bM0Hfffaf9+/crNjZWXl5eGR7DHi7++OMPl9vt7fZ+9v+1/8s/vf7p1evK5MmTdezYMQ0fPtzxR9lu5MiRWrBgQQYzyF72+T/++OOaPXt2pv3tf0ATExNdbnd1vux3z65evZpmm6s/3Hf6/Pn7+2vEiBEaMWKEDh8+rFWrVumLL77QuHHjlJKSogkTJmR6jAkTJmjcuHFq3bq1xowZk2Z7dpzXzGR2LFdhyF1NmjRRkyZNlJKSol9++UWLFi3S559/rnbt2ik2NlZly5bN8jGRM7HkAJCFQkJC1KFDB82aNUvNmzfXnj17dODAAUlyBKcb/5VrFxQUpDJlyujAgQMuX7Zas2aNpP+93BUUFKSIiAgdOHDAZXBKb4mCjBw8eFCS9Nhjj6XZtm7duls+3p1UuXJlBQUFacuWLZbuWFWsWFH58+fXli1bdOnSJadt169fd3m+ChYsKMn1y4i//vprmrbsPH+lS5dW7969tWbNGgUEBKS7FMCNfvzxR73yyiuqUqWKZs2a5TLIZ8d5zcyvv/7qckmKn3/+WdLfLwffKb6+vmratKlGjx6tt956SykpKVq5cuUdGw85D6EJcNOyZcvS3I24cuWK46UOX19fSX//EbbZbPr9999dHqdnz566cuWKhgwZImOMo33nzp2aMmWKgoODnZYq6NGjh1JTU9M8e7J69ep0n2fKSKlSpSRJP/30k1P79OnTtWTJkls+3q1q2rSp5c8p8/b21ksvvaSjR49qwIABLv/A79y503HXIl++fHriiSeUmJio0aNHO/X78ssvXT53ExkZKZvNppkzZzoFgv3792vcuHFp+t/J83fq1Clt2rQpTfuZM2eUmprq+BlLT1xcnDp37qzg4GAtWrQo3bs12XFeM3PmzJk06yNNmzZNsbGxat68uaXnmW7FunXrHC9338h+Zyuzc4t7Cy/PAW7q2rWr/Pz81KhRI5UqVUpXrlzRihUrtHv3bnXt2tXxQGlAQIDq1KmjtWvXqlevXipfvrzy5MmjJ598UiVLltTAgQO1ePFiff3119qzZ49atGihU6dOadasWbpy5YqmTZumwMBAx7iDBg3SnDlz9Nlnn2nHjh1q1KiRfv/9d3333Xd69NFHtWjRojQPaGfk6aef1qhRo9SvXz+tWrVKpUqV0o4dO7Ry5Up16tRJc+fOzfJzd6Pr169L+t9zJ5kZNmyYtm3bpo8//liLFy9WkyZNdN999ykhIUGxsbHavn27NmzY4HhGZuTIkfrhhx/0zjvv6KefflKtWrW0Z88eLVmyRK1atdLy5cudjl+8eHF17dpVM2fOVO3atdWmTRslJiZq3rx5atOmTZoFK+/k+UtISFDdunVVtWpVRUZGqnjx4jp9+rQWLFigK1euaODAgRnu//rrr+vMmTNq27atpk2blmZ7RESE4zMR7/R5zUzjxo318ccfa+PGjapTp47i4uI0b948BQcH69NPP72lY1kxevRorVixQs2aNVOZMmWUP39+bdu2TT/88IPKlSunjh07ZvmYyLkITYCbYmJi9P3332vTpk1atGiR/P39Va5cOU2YMEG9e/d26vv111/rjTfe0Pz583Xu3DkZY1SvXj2VLFlS+fPn148//qhRo0Zp1qxZ+ve//y0/Pz89+OCDeuutt9SoUSOnYwUGBmrt2rUaMmSIFixYoM2bN6tq1aqaMWOGDh06pEWLFrl8EDs9JUqU0Jo1azRw4ECtXLlSV69eVWRkpJYvX674+Pg7GpqMMdq9e7ciIiJUr149S/v4+Pho6dKlmjx5sqZNm6bZs2crNTVVRYoUUZUqVdSnTx+nBR+LFSum9evXa+DAgVq2bJnWrl2r2rVra8WKFfrxxx9d/nGfPHmy7rvvPn333Xf67LPPVLFiRU2cOFFhYWFpQtOdPH8RERGKjo7Wjz/+qJUrV+r06dMqXLiwIiMj9cYbb2S4mKkkxyrrS5cu1dKlS9Nsb9KkiSM0Zcd5zUiZMmX02WefaeDAgfr0009ljFHbtm01atQoywtb3oqXXnpJwcHB+uWXX7R27VoZY1SyZEm98847ev31153+oQLYzI2vAwDIFZ566il9++232r179x35Q5PVdu7cqfvvv1+fffaZ+vbtm+3jR0dHa9iwYZZXIwdwb+KZJiAHO3HiRJq2NWvWaObMmapYsWKOCEzS38+VFClSJM2dOQC4m/DyHJCDPfzww/L19VXNmjXl7++v3bt36/vvv5eXl5c++eQTT5dn2UsvvaSXXnrJ02UAQIYITUAO1rNnT3377beaOXOmkpOTVaBAAT366KMaMmSI6tat6+nyACBX4ZkmAAAAC3imCQAAwAJCEwAAgAU806S/F9U7fvy4AgMD0/1cLgAAkDsZY5ScnKywsLAMFwUmNEk6fvx4li/NDwAAcpb4+HiVKFEi3e2EJsmx4mt8fPwtraAMAAByvqSkJIWHh2e6AjyhSXK8JBcUFERoAgDgHpXZIzo8CA4AAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgwV0fmtauXatHH31UYWFhstlsmj9/vtN2Y4yio6MVFhYmX19fNW3aVLt27fJMsQAAINe660PThQsXVKNGDX366acut3/00UcaM2aMPv30U23evFlFixZVy5YtlZycnM2VAgCA3Oyu/+y5tm3bqm3bti63GWM0duxYvf322+rUqZMkaerUqSpSpIimT5+uF198MTtLBQAAudhdf6cpI4cPH9bJkyfVqlUrR5uPj4+aNGmi9evXe7AyAACQ29z1d5oycvLkSUlSkSJFnNqLFCmio0ePprtfamqqUlNTHd8nJSXdmQIBAECukaNDk53NZnP63hiTpu1GMTExGjZs2J0uC8BNIgYvdvr+yMh2Hqrkf+7GmgDcnXL0y3NFixaV9L87TnaJiYlp7j7daMiQITp37pzjKz4+/o7WCQAAcr4cHZpKly6tokWLasWKFY62y5cva82aNWrQoEG6+/n4+CgoKMjpCwAAICN3/ctz58+f14EDBxzfHz58WL/99psKFSqkkiVL6vXXX9eHH36o8uXLq3z58vrwww/l5+enJ5980oNVAwCA3OauD01btmxRs2bNHN/3799fktSzZ0999dVXGjhwoFJSUtS3b1+dOXNGdevW1fLlyxUYGOipkgEAQC5014empk2byhiT7nabzabo6GhFR0dnX1EAAOCek6OfaQIAAMguhCYAAAALCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgAaEJAADAAkITAACABYQmAAAACwhNAAAAFhCaAAAALCA0AQAAWEBoAgAAsIDQBAAAYAGhCQAAwAJCEwAAgAWEJgAAAAsITQAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgAaEJAADAAkITAACABYQmAAAACwhNAAAAFhCaAAAALCA0AQAAWEBoAgAAsIDQBAAAYAGhCQAAwAJCEwAAgAWEJgAAAAsITQAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgQY4PTVevXtU777yj0qVLy9fXV2XKlNH777+v69eve7o0AACQi3h7ugB3jRo1Sl988YWmTp2qqlWrasuWLerVq5eCg4P12muvebo8AACQS+T40LRhwwa1b99e7dq1kyRFRERoxowZ2rJli4crAwAAuUmOf3muUaNG+uGHHxQXFydJ2r59u3766Sc9/PDD6e6TmpqqpKQkpy8AAICM5Pg7TYMGDdK5c+dUqVIleXl56dq1axoxYoS6d++e7j4xMTEaNmxYNlYJ5G4RgxenaTsysp0HKgGAOyfH32maNWuWvvnmG02fPl3btm3T1KlT9a9//UtTp05Nd58hQ4bo3Llzjq/4+PhsrBgAAOREOf5O0//93/9p8ODB6tatmyTp/vvv19GjRxUTE6OePXu63MfHx0c+Pj7ZWSYAAMjhcvydposXLypPHudpeHl5seQAAADIUjn+TtOjjz6qESNGqGTJkqpatap+/fVXjRkzRr179/Z0aQAAIBfJ8aHpk08+0bvvvqu+ffsqMTFRYWFhevHFF/Xee+95ujQAAJCL5PjQFBgYqLFjx2rs2LGeLgUAAORiOf6ZJgAAgOxAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgAaEJAADAAkITAACABYQmAAAACwhNAAAAFhCaAAAALCA0AQAAWEBoAgAAsIDQBAAAYAGhCQAAwAJCEwAAgAWEJgAAAAsITQAAABYQmgAAACwgNAEAAFjgVmhKSkrSjh07lJCQkGbb3Llz1bZtW9WoUUO9e/fW77//7s5QAAAAHuXtzs5jxozRBx98oEmTJql3796O9qlTp6p3794yxkiSYmNj9cMPPyg2NlZBQUHuVQzgnhMxeLHT90dGtvNQJdnjXpsvkFO4dadpxYoV8vLy0hNPPOHUHh0dLUkaPHiw5s+fr2bNmun333/X559/7s5wAAAAHuNWaDpy5IjCwsIUEBDgaNu2bZuOHj2qZs2a6cMPP9Rjjz2m7777Tnnz5tWcOXPcLhgAAMAT3ApNp0+fVtGiRZ3a1qxZI5vNpg4dOjjaQkJCVKFCBR09etSd4QAAADzGrdCUL18+/fXXX05ta9eulSQ9+OCDTu2+vr66cOGCO8MBAAB4jFuhqVKlSjp48KDi4uIkSWfOnNGKFSsUEhKi6tWrO/U9fvy4QkND3RkOAADAY9wKTT169JAxRq1atdKAAQPUvHlzpaSk6KmnnnLqd/ToUSUkJKhixYpuFQsAAOApbi058Morr2jdunWaO3euxowZI0mqW7euhg4d6tTv66+/liQ99NBD7gwHAADgMW6FJi8vL82ePVvbtm3T/v37FR4ervr168tmszn1K1OmjP7973+rc+fObhULAADgKW6FJrvIyEhFRkamu/3JJ5/MimEAAAA8JktCk93x48eVkJCglJSUNO+eAwAAyMmy5AN7x48fr/Llyys8PFz16tVT8+bNnba/+eabatCggY4dO5YVwwEAAGQ7t0KTMUZdu3bVK6+8okOHDikiIkIBAQGOz5yzq1u3rjZu3Ki5c+e6VSwAAICnuBWaJk+erP/+97+qUqWKfvvtNx08eDDN+kyS1K5dO3l5eWnx4sUujgIAAHD3c+uZpsmTJytPnjz673//q0qVKqXbz9/fX2XLltWhQ4fcGQ4AAMBj3LrTtGvXLpUpUybDwGRXsGBBnThxwp3hAAAAPMat0HT9+nX5+PhY6puUlGS5LwAAwN3GrdBUunRpHThwQOfPn8+w38mTJ7Vv3z5VrlzZneEAAAA8xq3Q9Nhjjyk1NVXvvfdehv3efPNNGWPUsWNHd4YDAADwGLdC04ABAxQWFqZx48apS5cu+v7773Xp0iVJ0uHDh7Vw4UI99NBDmjFjhkqXLq2+fftmSdEAAADZza13zxUsWFDLli1T+/btNWfOHKd1mMqVKyfp77WcypQpo8WLF8vf39+9agEAADzE7RXBq1atqh07dmjcuHFq0qSJChUqJC8vLwUHB6t+/fr617/+pe3bt6tixYpZUS8AAIBHZMlnz/n5+alfv37q169fVhwOAADgrpMlnz0HAACQ27kVmv744w9NmzZN69evz7Dfzz//rGnTpikxMdGd4QAAADzGrdA0fvx49erVS7///nuG/RISEtSrVy9NnDjRneEAAAA8xq3Q9P/+3/+Tj4+PHn/88Qz7derUST4+Plq4cKE7wwEAAHiMW6HpyJEjKl26tLy8vDLs5+3trdKlS+vo0aPuDAcAAOAxboWmixcvys/Pz1JfX19fJSUluTNcuhISEvTUU08pJCREfn5+qlmzprZu3XpHxgIAAPcmt5YcKF68uPbs2aOUlBT5+vqm2y8lJUV79+5V0aJF3RnOpTNnzqhhw4Zq1qyZli5dqtDQUB08eFAFChTI8rEAAMC9y607Tc2aNVNKSoo++OCDDPsNHz5cFy9eVIsWLdwZzqVRo0YpPDxcU6ZM0QMPPKCIiAi1aNFCZcuWzfKxAADAvcvtz57LmzevRo0apX/84x/av3+/0/b9+/frxRdf1MiRI5UvXz4NGDDArWJdWbhwoaKiotSlSxeFhoaqVq1amjRpUpaPAwAA7m1uhaYKFSpo8uTJ8vb21uTJk1WpUiWFhISobNmyCgkJUaVKlTRp0iSn7Vnt0KFDGj9+vMqXL69ly5apT58+evXVVzVt2rR090lNTVVSUpLTFwAAQEbc/hiVHj16qGLFiho6dKhWrlypM2fO6MyZM5KkfPnyqVWrVho6dKhq167tdrGuXL9+XVFRUfrwww8lSbVq1dKuXbs0fvx4PfPMMy73iYmJ0bBhw+5IPUBOFzF4sdP3R0a281Altya7686p5wnA7cuSz56LiorS4sWLdenSJR04cEBJSUkKDAxU+fLllT9//qwYIl3FihVTlSpVnNoqV66sOXPmpLvPkCFD1L9/f8f3SUlJCg8Pv2M1AgCAnC9LQpNd/vz5Va1ataw8ZKYaNmyoffv2ObXFxcWpVKlS6e7j4+MjHx+fO10aAADIRXL8B/a+8cYb2rhxoz788EMdOHBA06dP18SJE/Xyyy97ujQAAJCLZMmdpri4OC1dulSHDh3S+fPnZYxx2c9ms2ny5MlZMaRDnTp1NG/ePA0ZMkTvv/++SpcurbFjx6pHjx5ZOg4AALi3uRWarl27pr59++rLL7+UpHTDkt2dCE2S9Mgjj+iRRx7J8uMCAADYuRWaYmJiNGnSJHl5eal9+/aqU6eOQkNDlSdPjn/VDwAAwIlboWnq1Kmy2WyaP3++2rXj7bYAACD3cuuWUHx8vCIiIghMAAAg13MrNBUpUoQPxgUAAPcEt0JTx44dtXPnTv3xxx9ZVQ8AAMBdya3Q9P7776tcuXLq3r27Tpw4kVU1AQAA3HXcehB87Nixat26tT777DOVL19ebdq0UdmyZeXv7++yv81m07vvvuvOkAAAAB7hVmiKjo6WzWaTMUZXrlzR3LlzXfaz9yE0AQCAnMqt0DR06NCsqgMAAOCuRmgCAACwgKW7AQAALMiSD+yVpNTUVG3dulUJCQlKSUnRM888k1WHBgAA8Di37zSlpqZq0KBBCg0NVePGjdWtWzf16tXLqc9zzz2nsLAw7du3z93hAAAAPMKt0HT58mW1atVK//rXv2SMUdOmTVW4cOE0/Tp16qSTJ09q9uzZ7gwHAADgMW6Fpo8//ljr1q1To0aNFBcXpx9++EEVKlRI069ly5bKly+fli9f7s5wAAAAHuNWaPr222+VN29ezZgxQ0WLFk23X758+VSuXDkdPXrUneEAAAA8xq3QFBcXp/LlyyssLCzTvoGBgXxGHQAAyLHcCk3e3t66cuWKpb6nT59O9+NVAAAA7nZuhaYKFSroyJEjOnXqVIb9Dh48qAMHDuj+++93ZzgAAACPcSs0de7cWVeuXNEbb7yh69evu+xz+fJlvfTSS7LZbOrWrZs7wwEAAHiMW4tbvvrqq5o2bZpmzJihgwcPqmfPnjp37pwkadWqVYqNjdWECRO0Z88eRUZGqnfv3llSNAAAQHZzKzT5+vpqxYoV6tKlizZs2KBNmzY5tj300EOSJGOM6tWrp7lz5ypv3rzuVQsAAOAhbn+MSlhYmH766SctXrxYc+fOVWxsrM6dO6eAgABVqVJFnTp1UseOHWWz2bKiXgAAAI9wKzStXbtWklS/fn098sgjeuSRR7KkKAAAgLuNW6GpadOmKlmypI4cOZJF5QAAANyd3Hr3XEhISIYrgQMAAOQWboWmqKgoHThwIN3lBgAAAHILt16eGzhwoFq2bKmYmBi9/fbbWVUTAOQKEYMXO31/ZGQ7D1XyP3djTUBO4VZoKlu2rIYPH6733ntPW7Zs0dNPP63KlStn+HEpJUuWdGdIAAAAj3ArNEVERMhms8kYo4ULF2rhwoUZ9rfZbLp69ao7QwIAAHiEW6GpZMmSrL8EAADuCW6FJpYaAAAA9wq33j0HAABwryA0AQAAWODWy3PHjh275X149xwAAMiJsuTdc1bx7jkAAJBT3bF3z124cEF//vmnJClv3rwKCwtzZygAAACPuqPvnktKStKkSZP0wQcf6Mknn9SIESPcGQ4AAMBj3ApNmQkKCtKbb76pqlWrql27dqpUqZKefvrpOzkkAADAHZEt755r06aNSpUqpXHjxmXHcAAAAFku25YcKFCggPbu3ZtdwwEAAGSpbAlNiYmJ2rNnj/Lnz58dwwEAAGS5Oxqa/vzzTy1dulRt27bV5cuX9dBDD93J4QAAAO4Ytx4E9/LystTPGKOiRYtq5MiR7gwHAADgMW6FJmNMhtv9/f1VpkwZtW3bVgMGDFDhwoXdGQ4AAMBj3ApN169fz6o6AAAA7mp8YC8AAIAFhCYAAAAL3ApNa9euVfPmzTVhwoQM+33xxRdq3ry5fv75Z3eGAwAA8Bi3QtOXX36pNWvWqH79+hn2q1+/vlavXq3//Oc/7gwHAADgMW6Fpo0bN6pQoUKqXr16hv1q1KihkJAQ7jQBAIAcy63QlJCQoIiICEt9IyIilJCQ4M5wAAAAHuNWaMqXL5+Sk5Mt9U1OTlaePDx3DgAAcia3UkylSpW0f/9+xcXFZdgvLi5OcXFxqlChgjvDAQAAeIxboenxxx+XMUbPPPOMzp4967LP2bNn1bNnT9lsNnXp0sWd4QAAADzGrdD08ssvq1KlStq8ebMqV66sd955R4sWLdK6deu0aNEivf3226pcubJ++eUXVaxYUf369cuqutMVExMjm82m119//Y6PBQAA7h1ufYyKr6+vli1bpo4dO2rbtm2KiYlJ08cYo6ioKM2ZM0e+vr7uDJepzZs3a+LEiZm+mw8AAOBWuRWaJCk8PFybNm3S3LlztWDBAu3Zs0dJSUkKDAxU1apV1aFDB3Xo0OGOPwR+/vx59ejRQ5MmTdLw4cPv6FgAAODe43ZokqQ8efKoc+fO6ty5c1Yc7ra8/PLLateunR566CFCEwAAyHJZEpo8bebMmdq2bZs2b95sqX9qaqpSU1Md3yclJd2p0gAAQC7hVmg6cOCApk+frtq1a6tdu3bp9lu8eLG2bt2qp59+WqVLl3ZnyDTi4+P12muvafny5cqfP7+lfWJiYjRs2LAsrQPILhGDF6dpOzIy/d8/d/fD3YnrCWQ/tx40mjBhgoYNG5bp80p58uTRsGHDNHHiRHeGc2nr1q1KTExU7dq15e3tLW9vb61Zs0Yff/yxvL29de3atTT7DBkyROfOnXN8xcfHZ3ldAAAgd3HrTtOyZcvk5+entm3bZtivTZs28vPz0/fff+/yHXbuaNGihWJjY53aevXqpUqVKmnQoEHy8vJKs4+Pj498fHyytA4AAJC7uRWajh07pjJlymTaz2azqUyZMjp27Jg7w7kUGBioatWqObX5+/srJCQkTTsAAMDtcuvluatXr1peSiBPnjxKSUlxZzgAAACPcetOU6lSpbRnzx6dPXtWBQoUSLff2bNntXv3bkVERLgznGWrV6/OlnEAAMC9w607Ta1bt9bly5fVv3//DPsNGDBAV69eVZs2bdwZDgAAwGPcCk0DBgxQUFCQpk6dqtatW2vlypVKTk6WJCUnJ2vFihVq06aNpkyZosDAQP3f//1flhQNAACQ3dx6eS4sLExz5sxR586dtWLFCq1cuTJNH2OMgoODNXv2bJUoUcKd4QAAADzG7Q+Ea9GihXbs2KGXXnpJYWFhMsY4vooXL65XXnlFO3bsUIsWLbKiXgAAAI/Iko9RCQ8P12effabPPvtM58+fd3xgb2BgYFYcHgAAwOOy9LPn4uLiFBcXp+TkZAUGBqpChQqqUKFCVg4BAADgEVkSmiZMmKBRo0bp6NGjabaVKlVKQ4YM0QsvvJAVQwEAAHiE26GpV69emjZtmowx8vHxUXh4uIoUKaI//vhD8fHxOnLkiPr06aP169drypQpWVEzAABAtnPrQfDp06dr6tSp8vPz00cffaRTp04pLi5O69atU1xcnE6dOqWPPvpI/v7+mjZtmmbMmJFVdQMAAGQrt0LTpEmTZLPZNGfOHA0YMEABAQFO2wMCAjRgwADNnj1bxhhNmjTJrWIBAAA8xa3QtH37dpUpU0atWrXKsF+rVq1Urlw5/frrr+4MBwAA4DFuhaZLly5l+JlzNwoKClJqaqo7wwEAAHiMW6GpZMmS2rlzp/78888M+506dUq7du1SyZIl3RkOAADAY9wKTY899phSU1PVtWtXnTp1ymWfxMREde3aVZcvX1b79u3dGQ4AAMBj3FpyYPDgwZo5c6ZWr16tUqVKqUuXLqpSpYpCQ0OVmJio3bt367///a8uXbqk8PBwDRo0KKvqBgAAyFZuhaZChQrpxx9/VPfu3bV161Z9/fXXstlsju3GGElSnTp1NH36dBUqVMi9agEAADzE7cUty5Urp82bN+uHH37Q8uXLFRcXp/PnzysgIEAVKlRQ69at1bx586yoFQAAwGOy7LPnWrRooRYtWmTV4QAAAO4qbj0IDgAAcK8gNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWZNnilgD+J2Lw4jRtR0a280AlQPbh5x65HXeaAAAALCA0AQAAWEBoAgAAsIDQBAAAYAGhCQAAwAJCEwAAgAWEJgAAAAsITQAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgAaEJAADAAkITAACABYQmAAAACwhNAAAAFhCaAAAALCA0AQAAWEBoAgAAsIDQBAAAYEGOD00xMTGqU6eOAgMDFRoaqg4dOmjfvn2eLgsAAOQyOT40rVmzRi+//LI2btyoFStW6OrVq2rVqpUuXLjg6dIAAEAu4u3pAtz1/fffO30/ZcoUhYaGauvWrXrwwQc9VBUAAMhtcnxoutm5c+ckSYUKFUq3T2pqqlJTUx3fJyUl3fG6AABAzparQpMxRv3791ejRo1UrVq1dPvFxMRo2LBh2VgZYE3E4MVp2o6MbOeBSnAvu5M/h3fjz/jdWBPuTjn+maYbvfLKK9qxY4dmzJiRYb8hQ4bo3Llzjq/4+PhsqhAAAORUueZOU79+/bRw4UKtXbtWJUqUyLCvj4+PfHx8sqkyAACQG+T40GSMUb9+/TRv3jytXr1apUuX9nRJAAAgF8rxoenll1/W9OnTtWDBAgUGBurkyZOSpODgYPn6+nq4OgAAkFvk+Geaxo8fr3Pnzqlp06YqVqyY42vWrFmeLg0AAOQiOf5OkzHG0yUAAIB7QI6/0wQAAJAdCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgAaEJAADAAkITAACABYQmAAAACwhNAAAAFhCaAAAALCA0AQAAWEBoAgAAsIDQBAAAYAGhCQAAwAJCEwAAgAWEJgAAAAsITQAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWeHu6AOBOiBi8OE3bkZHt7vpjA3DNyu8dv5u407jTBAAAYAGhCQAAwAJCEwAAgAWEJgAAAAsITQAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgAaEJAADAAkITAACABYQmAAAACwhNAAAAFhCaAAAALCA0AQAAWEBoAgAAsIDQBAAAYAGhCQAAwAJCEwAAgAW5JjR9/vnnKl26tPLnz6/atWtr3bp1ni4JAADkIrkiNM2aNUuvv/663n77bf36669q3Lix2rZtq2PHjnm6NAAAkEvkitA0ZswYPffcc3r++edVuXJljR07VuHh4Ro/frynSwMAALlEjg9Nly9f1tatW9WqVSun9latWmn9+vUeqgoAAOQ23p4uwF1//vmnrl27piJFiji1FylSRCdPnnS5T2pqqlJTUx3fnzt3TpKUlJR05wpFtrqeejFNW1ZdXyvHvt3xPX1sV/08fWyr+93JY9+NNWXVz8GdPLar/XLqsZG72a+3MSbjjiaHS0hIMJLM+vXrndqHDx9uKlas6HKfoUOHGkl88cUXX3zxxRdfjq/4+PgMM0eOv9NUuHBheXl5pbmrlJiYmObuk92QIUPUv39/x/fXr1/XX3/9pZCQENlstiytLykpSeHh4YqPj1dQUFCWHvtuc6/M9V6Zp3TvzJV55j73ylzvlXlKd3auxhglJycrLCwsw345PjTly5dPtWvX1ooVK9SxY0dH+4oVK9S+fXuX+/j4+MjHx8eprUCBAneyTAUFBeX6H2i7e2Wu98o8pXtnrswz97lX5nqvzFO6c3MNDg7OtE+OD02S1L9/fz399NOKiopS/fr1NXHiRB07dkx9+vTxdGkAACCXyBWhqWvXrjp9+rTef/99nThxQtWqVdOSJUtUqlQpT5cGAAByiVwRmiSpb9++6tu3r6fLSMPHx0dDhw5N83JgbnSvzPVemad078yVeeY+98pc75V5SnfHXG3GZPb+OgAAAOT4xS0BAACyA6EJAADAAkITAACABYSmLDJ+/HhVr17dsX5E/fr1tXTpUsd2Y4yio6MVFhYmX19fNW3aVLt27fJgxbcns3k+++yzstlsTl/16tXzYMVZIyYmRjabTa+//rqjLbdc0xu5mmduuabR0dFp5lG0aFHH9tx0PTOba265ppKUkJCgp556SiEhIfLz81PNmjW1detWx/bccl0zm2duuaYRERFp5mGz2fTyyy9L8vz1JDRlkRIlSmjkyJHasmWLtmzZoubNm6t9+/aOi/nRRx9pzJgx+vTTT7V582YVLVpULVu2VHJysocrvzWZzVOS2rRpoxMnTji+lixZ4sGK3bd582ZNnDhR1atXd2rPLdfULr15SrnnmlatWtVpHrGx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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure()\n", "nbins = 101\n", "low = 30\n", "high = 70\n", "plt.xlabel(\"Number of heads out of 100\")\n", "plt.ylabel(\"occurences\")\n", "plt.title(\"Histogram; equal sized bins\")\n", "out = plt.hist(results, nbins, [low,high])" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The prob of getting 60 or more heads out of 100 flips is 0.03\n" ] } ], "source": [ "# What is the prob of getting 60 or more heads?\n", "Morethan60 = 0\n", "for i in range(N):\n", " if results[i] >= 60:\n", " Morethan60 = Morethan60 + 1\n", "print(\"The prob of getting 60 or more heads out of 100 flips is \",Morethan60/N)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## (b) " ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "N = 100000\n", "results = np.zeros(N)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "for i in range(N):\n", " flips=stats.randint.rvs(0,2,size=n_flips)\n", " nheads = np.sum(flips)\n", " results[i] = nheads" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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ihUrMH78eAB/3VILCQlBWFgY3N3d4e7ujrCwMFhYWCAoKAgAoFAoMGHCBMycORN2dnawtbXFrFmz0L59e/Tt2xcA0KZNG/j7+2PixIlYu3YtAGDSpEkICAjQ68k5IiIiqttqfNIUERGBf//735g6dSqysrLg7OyMyZMn47PPPpNiZs+ejYKCAkydOhU5OTnw8vLCkSNHYGVlJcWsXLkSxsbGGDFiBAoKCuDn54eNGzfCyMhIitm6dSumT58uPWUXGBiI1atXV11niYiIqMaq8es01SZcp4mobuKcJqK6rc6s00RERERUE9T423NERJWl9IgRwFEjItIfkyYiopeACRpR3cPbc0RERER6YNJEREREpAcmTURERER6YNJEREREpAcmTURERER6YNJEREREpAcmTURERER6YNJEREREpAcmTURERER6YNJEREREpAcmTURERER6YNJEREREpAcmTURERER6YNJEREREpAcmTURERER6MK7uBhARVQbXuQe0ym4vGVQNLSGiuopJExFRNSmd6DHJI6rZeHuOiIiISA9MmoiIiIj0wKSJiIiISA9MmoiIiIj0wKSJiIiISA9MmoiIiIj0wKSJiIiISA9MmoiIiIj0wKSJiIiISA9MmoiIiIj0UOOTJldXV8hkMq3P+++/DwAQQiA0NBTOzs4wNzeHr68vkpOTNY6hUqkwbdo02Nvbw9LSEoGBgbh3755GTE5ODoKDg6FQKKBQKBAcHIzc3Nyq6iYRERHVcDU+abpw4QIyMjKkT2xsLABg+PDhAIBly5ZhxYoVWL16NS5cuAAnJyf069cP+fn50jFCQkKwZ88eREdH4/Tp03j06BECAgJQXFwsxQQFBSEhIQExMTGIiYlBQkICgoODq7azREREVGPV+Bf2NmzYUOPrJUuWoHnz5vDx8YEQAqtWrcInn3yCoUOHAgA2bdoER0dHbNu2DZMnT4ZSqURkZCS2bNmCvn37AgCioqLg4uKCo0ePYsCAAUhJSUFMTAzi4uLg5eUFAFi/fj28vb1x7do1tGrVqmo7TURERDVOjR9pKqmwsBBRUVEYP348ZDIZUlNTkZmZif79+0sxcrkcPj4+OHPmDAAgPj4eRUVFGjHOzs7w8PCQYs6ePQuFQiElTADQvXt3KBQKKYaIiIj+3mr8SFNJe/fuRW5uLt555x0AQGZmJgDA0dFR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NHhpbbS2tq6TPwgl1fU+sn+1X13vY13vH1D3+8j+vRiFQlFhDJOmEmbMmIHg4GB4enrC29sb69atw927dzFlypTqbhoRERFVMyZNJYwcORIPHz7EwoULkZGRAQ8PDxw8eBBNmzat7qYRERFRNWPSVMrUqVMxderU6m6GBrlcjvnz52vdCqxL6nof2b/ar673sa73D6j7fWT/Xj6ZEBU9X0dEREREfPccERERkR6YNBERERHpgUkTERERkR6YNNUga9asQYcOHaQ1KLy9vXHo0CFpuxACoaGhcHZ2hrm5OXx9fZGcnFyNLX4+FfXvnXfegUwm0/h07969GltsmPDwcMhkMoSEhEhltf0alqSrf7X9GoaGhmq138nJSdpe269fRf2r7ddPLT09Hf/85z9hZ2cHCwsLdOrUCfHx8dL22n4dK+pfbb+Orq6uWu2XyWR4//33AVTv9WPSVIM0btwYS5YswcWLF3Hx4kX06dMHgwcPlr4Zli1bhhUrVmD16tW4cOECnJyc0K9fP+Tn51dzy/VTUf8AwN/fHxkZGdLn4MGD1djiF3fhwgWsW7cOHTp00Civ7ddQraz+AbX/GrZr106j/YmJidK2unD9yusfUPuvX05ODnr27AkTExMcOnQIV65cwfLlyzUWHq7N11Gf/gG1+zpeuHBBo+2xsbEAgOHDhwOo5utn8Evb6KWysbER3377rXj27JlwcnISS5Yskbb9+eefQqFQiG+++aYaW2gYdf+EEGLs2LFi8ODB1dugSpCfny/c3d1FbGys8PHxER9++KEQQtSZa1hW/4So/ddw/vz5omPHjjq31YXrV17/hKj9108IIebMmSN69epV5vbafh0r6p8QdeM6lvThhx+K5s2bi2fPnlX79eNIUw1VXFyM6OhoPH78GN7e3khNTUVmZib69+8vxcjlcvj4+ODMmTPV2NIXU7p/asePH4eDgwNatmyJiRMnIisrqxpb+WLef/99DBo0CH379tUoryvXsKz+qdX2a3jjxg04OzvDzc0No0aNwq1btwDUnetXVv/Uavv1279/Pzw9PTF8+HA4ODigc+fOWL9+vbS9tl/HivqnVtuvo1phYSGioqIwfvx4yGSyar9+TJpqmMTERNSvXx9yuRxTpkzBnj170LZtW+lFwqVfHuzo6Kj1kuGarKz+AcDAgQOxdetW/PTTT1i+fDku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R44cwYIFCwAAc+fO1Rgl6t27N8zMzHDx4kWsW7dOKs/NzcU777yDhw8f6qxP/TTolStXKpxXp8ucOXMA/PVHQcmJ+vn5+Xj77beRnZ0NV1dXjBo16rmPXdmmTJkCe3t7pKSkYMaMGdLP6MOHDxEUFISnT59i4MCB6Nq1q8Z+b731Flq3bo2HDx9i3Lhx0hOSjx8/xrhx4/Dw4UN4eHhgyJAhVd0l0leVLW5A9JKUXqepNPWCgeqPrvWYJkyYIG13c3MTnTp1EsbGxqJ169bSKttlrdNU1vowFa3/VNY6RaVXBLezsxPdunWT1qmpV6+e2L59u85jllxR2dbWVnTr1k106dJF2NraSuWHDh2S4kuurv2injx5Inr37i0dv23btqJjx47CyMhIWm9K15ozhq7TVF6b1W0p7f79+6Jz587S9hYtWggvLy/Rtm1bYWpqKgAIR0dHjX32798vrbmkXp1dfS3+/e9/S9crNTVVY7/09HRpBWgTExPRuXNn0bJlSwFADBo0SOeK4CVXdHd1dRWvvvqqaN26tXQuPTw8RG5urt7n6saNG9J6YXK5XHTp0kW0aNFCqiM4OFhrRXAh/m9FawDilVdeEV27dhXm5ubC0dFRhIaG6lynSQghrQxvZWUlvLy8hI+Pjxg5cqTe7S35/atemV69CKeNjY04f/681j6GrNN09+5dYWdnJ33Mzc2lc1WyXNfK30ePHpXWWmvYsKHG6uWurq4618YSQojExERhY2MjAAiFQiG6du0qFAqF9P2VnJz83P2gqsORJqrzhg4dik6dOpUb880332DhwoVo3rw50tPTkZ2djcmTJ+Ps2bNo0KBBlbSztFGjRuHQoUNo164drl69ij///BN9+vTBsWPHyvxrOzw8HD///DOCgoJgaWmJy5cv4/bt22jcuDHGjx+PAwcOwM/Pr1LbaW5ujsOHD+OLL76Ap6cn7ty5g+vXr6Nt27ZYtGgRzpw5Azs7u0qt80U1atQIZ8+exddff43XX38dDx8+xC+//IL8/Hy8+uqrWLBgAY4dO6axzxtvvIFDhw6hR48eKCgowLVr19CiRQtERUVJo3u6ODs74/z589KoxJUrVyCEwMKFC7Fnzx6dc4CmTJmC0NBQvP766ygqKkJCQgJycnLQrVs3RERE4Pz58zqXWShLixYt8Msvv2DWrFlo0qQJkpOTkZWVhddffx1btmzBpk2bdLbj008/xVdffYW2bdsiOzsbaWlpGDZsGC5evIimTZuWWd+2bdvwzjvvwNraGvHx8Thx4gTi4uL0bm94eDh++OEH9OvXD48ePcKvv/4Ke3t7TJkyBZcvX5bW4KosxcXFePjwofRR31pUqVQa5bpu7fv5+eHixYsYNWoUZDIZEhMT4ejoiBkzZuDSpUs618YCAA8PD1y+fBnvvvsu6tevj8TERNSvXx8TJ07E5cuXy1wigmoGmRB8HTwRERFRRTjSRERERKQHJk1EREREemDSRERERKQHJk1EREREemDSRERERKQHJk1EREREemDSRERERKQHJk1EREREemDSRERERKQHJk1EREREemDSRERERKQHJk1EREREemDSRERERKQHJk1EREREevh/CpNP+CUznH8AAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure()\n", "nbins = 101\n", "low = 30\n", "high = 70\n", "plt.xlabel(\"Number of heads out of 100\")\n", "plt.ylabel(\"occurences\")\n", "plt.title(\"Histogram; equal sized bins\")\n", "out = plt.hist(results, nbins, [low,high])" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The prob of getting 60 or more heads out of 100 flips is 0.02919\n" ] } ], "source": [ "# What is the prob of getting 60 or more heads?\n", "Morethan60 = 0\n", "for i in range(N):\n", " if results[i] >= 60:\n", " Morethan60 = Morethan60 + 1\n", "print(\"The prob of getting 60 or more heads out of 100 flips is \",Morethan60/N)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.5" } }, "nbformat": 4, "nbformat_minor": 4 }