{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "e76c9e90-6825-48f1-b907-5c0e4fa8a883",
   "metadata": {},
   "source": [
    "## Esercizio sulla distribuzione di Poisson e i tempi di attesa"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ceae2605-1cc4-4596-8473-495a90c88508",
   "metadata": {},
   "source": [
    "la funzione sotto definita genera n numeri casuali fra 0 e 1 e testa quali di questi sono minori di p,\n",
    "probabilità unitaria di decadimento. potete usarla per determinare casualmente quanti atomi decadono\n",
    "in un intervallo di tempo per cui la probabilità è data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "ac0da78d-b096-4f61-bd0c-8e1c3cc44768",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import numpy.random as R\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "10ff31c0-80b5-4264-bb22-86a9e5ca0a5a",
   "metadata": {},
   "outputs": [],
   "source": [
    "gen=R.default_rng()\n",
    "def decaduti(p, n):\n",
    "    return gen.uniform(size=n)<p"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "25ac81fc-99b9-4ec4-b8be-575fa91b6619",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ True, False, False, False, False, False, False, False, False,\n",
       "       False,  True,  True, False, False, False, False, False, False,\n",
       "       False, False,  True, False, False, False,  True, False, False,\n",
       "       False, False, False])"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "decaduti(0.1, 30)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "06366fc5-d5e4-4798-b4da-4a464875653e",
   "metadata": {},
   "source": [
    "### punto 1\n",
    "usate la funzione piú volte con 1000 atomi e probabilità di decadimento 0.01, per cui mediamente troverete\n",
    "che 10 atomi sono decaduti.\n",
    "\n",
    "fate un istogramma del numero di atomi decaduti e verificate la somiglianza alla distribuzione di Poisson di media 10."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1f955bad-8de1-4239-9661-0f6f6965f67e",
   "metadata": {},
   "source": [
    "### punto 2\n",
    "simulate il decadimento di un contenitore di 1000 atomi.\n",
    "\n",
    "a tal fine, usate la funzione decaduti più volte, ma ogni volta aggiornando il numero di atomi restanti.\n",
    "\n",
    "verificate che il decadimento è di tipo esponenziale sovrapponendolo alla curva analitica."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "838e455a-5099-418f-b60f-387cace7bc96",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "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.13.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
