{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "e2dbdbb0",
   "metadata": {},
   "source": [
    "# Incertitude type d'une mesure directe ; illustration sur les angles d'incidence et de réfraction sur une interface plane plexiglas vers air"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7111e6ac",
   "metadata": {},
   "source": [
    "On va introduire et illustrer la notion d'incertitude type.\n",
    "Pour celà on prend un cas de mesure d'angle effectué dans ce premier TP.\n",
    "On prend par exemple une mesure estimée comme centrée sur 40 degrés et de 1/2 largeur 1 degré.\n",
    "\n",
    "L'incertitude type est la grandeur statistique qui va illustrer la dispersion des mesures obtenues dans l'expérience réalisée si on la reproduit à l'identique un grand nombre de fois. Elle s'identifie avec l'écart type standard de la distribution des mesures sur l'intervalle obtenu par la mesure.\n",
    "On utilisera alors systématiquement cette notion d'incertitude type pour caractériser toutes les mesures auquel permettent d'avoir accès les expériences réalisées.\n",
    "![incertitude](TP1incertitude.jpg)\n",
    "Comme il est impossible de réaliser concrètement un très grand nombre de réalisations expérimentales, On va les simuler par un programme informatique, et donc en python.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "281c0e61",
   "metadata": {},
   "outputs": [],
   "source": [
    "#on commence classiquement par importer la library numpy (sous l'alias np) pour le calcul numérique\n",
    "#son sous module numpy.random pour effectuer les tirages aléatoires selon des lois bien controlées\n",
    "#et la library matplotlib.pyplot (sous l'alias pl) pour la réalisation de graphique.\n",
    "import numpy as np\n",
    "import numpy.random as rd\n",
    "import matplotlib.pyplot as pl"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "28b9e840",
   "metadata": {},
   "source": [
    "On fait l'hypothèse que chaque réalisation expérimentale va donner une valeur d'angle située dans l'intervalle estimé comme contenant les mesures et que la probabilité qu'un tirage se situe en un point particulier de l'intervalle est uniforme (hypothèse forte mais systématiquement effectuée).\n",
    "\n",
    "La détermination de l'incertitude par la répétition de l'expérience un grand nombre de fois, et par l'exploitation des outils statistiques décrivant la distribution des résultats est appelée évaluation de l'incertitude de type A.\n",
    "\n",
    "La simulation numérique du tirage aléatoire (dite simulation Monte Carlo), donne les résultats suivants."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "77a1ba72",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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4orw2GOPhQcffDCt/+6774bzzjuvYfnWrVtTONm0aVN49tlnw89+9rMwa9ascN111zVvyQCA9tFJdvbs2WXzMVjEGpBFixaFU089Naxfvz7cfffd4f777w+nn356Wufee+8NQ4YMSaHmpJNOCk8++WR47bXXwlNPPRV69+4djjvuuPCDH/wgXHXVVeGGG24InTt3bt4SAgDtqw9KDCRRz549020MKrFWZfTo0Q3rDB48OAwYMCAsXLgwzcfbY489NoWTkjFjxoS6urqwZMmSJp+nvr4+LW88AQDVa6+HGW/bti1cfvnl4eSTTw7HHHNMum/16tWpBqRHjx5l68YwEpeV1mkcTkrLS8t21vdl+vTpe7urkB1DsAEqFFBiX5RXX301LFiwIFTatGnTwtSpUxvmYw1K//79K/681cCJEIB2E1CmTJkSHn/88fDMM8+Eww47rOH+Pn36pM6v69atK6tFiaN44rLSOi+88ELZ9kqjfErrbK9Lly5pAgDahz3qg1IURQonDz/8cJg3b14YNGhQ2fLhw4eHTp06hblz5zbcF4chx2HFI0eOTPPx9pVXXglr165tWCeOCOrWrVs4+uij971EAED7qkGJzTpxhM6jjz6aroVS6jPSvXv30LVr13Q7YcKE1BwTO87G0PHNb34zhZI4gieKw5JjEPna174WbrnllrSNa6+9Nm1bLQkAsMcBZebMmen2tNNOK7s/DiW+5JJL0v9vu+22UFtbmy7QFkffxBE6P/nJTxrW7dChQ2oeuuyyy1JwOeCAA8LFF18cbrzxRkcEAEhqithu08bETrKxtiYOc461NM1Nx1IA2ru3bh7bqudvv8UDAGRHQAEAsiOgAADZEVAAgOwIKABAdgQUACA7AgoAkB0BBQDIjoACAGRHQAEAsiOgAADZEVAAgOwIKABAdgQUACA7AgoAkB0BBQDIjoACAGRHQAEAsiOgAADZEVAAgOwIKABAdgQUACA7AgoAkB0BBQDIjoACAGRHQAEAsiOgAADZEVAAgOwIKABAdgQUACA7AgoAkB0BBQDIjoACAGRHQAEAsiOgAADZEVAAgOwIKABAdgQUACA7AgoAkB0BBQDIjoACAGRHQAEAsiOgAADZEVAAgOwIKABAdgQUACA7AgoAkB0BBQDIjoACAGRHQAEAsiOgAADZEVAAgOwIKABAdgQUACA7AgoA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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "la valeur moyenne sur les tirages réalisés est égale à  40.00153858599309\n",
      "l'incertitude associée à la mesure est égale à  0.5738214101621503\n",
      "l'incertitude théorique pour une distribution uniforme est égale à  0.5773502691896258\n"
     ]
    }
   ],
   "source": [
    "#on créée une liste de 10000 tirages aléatoires uniformément répartis sur l'intervalle étudié.\n",
    "#ce qu'on appelle généralement simulation Monte-Carlo.\n",
    "\n",
    "angle=40    #valeur de l'angle\n",
    "l_angle=1   #demi largeur de l'intervalle entourant la valeur mesurée d'angle\n",
    "N=10000     # nombre de tirage aléatoire utilisé\n",
    "\n",
    "angle_MC=angle+rd.uniform(-l_angle,l_angle,N) # on créée une liste de 10000 tirages aléatoires dans l'intervalle de mesure\n",
    "\n",
    "\n",
    "#on peut alors réaliser un histogramme des tirages réalisés.\n",
    "pl.hist(angle_MC,bins='rice')\n",
    "#et en demander l'affichage.\n",
    "pl.show()\n",
    "\n",
    "#on calcule la valeur moyenne sur le tirage aléatoire réalisé\n",
    "moyenne_angle=np.average(angle_MC)\n",
    "#on affiche cette valeur moyenne\n",
    "print(\"la valeur moyenne sur les tirages réalisés est égale à \",moyenne_angle)\n",
    "\n",
    "#on calcule l'écart type sur le tirage aléatoire réalisé. Evaluation de type A de l'incertitude\n",
    "u_angle=np.std(angle_MC,ddof=1)\n",
    "#on affiche l'incertitude associée\n",
    "print(\"l'incertitude associée à la mesure est égale à \",u_angle)\n",
    "\n",
    "#on compare alors l'incertitude à la valeur numérique théorique pour une répartition uniforme. \n",
    "#Evaluation de type B de l'incertitude\n",
    "u_angle_unif=l_angle/np.sqrt(3)\n",
    "print(\"l'incertitude théorique pour une distribution uniforme est égale à \",u_angle_unif)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7637365f",
   "metadata": {},
   "source": [
    "**Conclusion : On retiendra que pour une mesure \"_a_\" effectuée à l'aide d'un système gradué, par exemple ici, le rapporteur pour lequel on peut estimer que la valeur mesurée est située sur un intervalle de demi largeur \"_l/2_\", l'incertitude type \"_u(a)_\" sera exprimable directement par la relation théorique  :**\n",
    "<center>$u(a)=\\frac{\\ell}{2\\sqrt 3}$</center>\n",
    "\n",
    "**On procède ainsi à une évaluation de type B de l'incertitude sur la mesure effectuée**"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b6ffef01",
   "metadata": {},
   "source": [
    "On va maintenant s'intéresser à la loi de Snell-Descartes, qui affirme que l'angle d'incidence $i_{0}$, pour un faisceau arrivant sur l'interface depuis le plexiglas d'indice optique n, et l'angle de réfraction $i_{1}$ dans l'air d'indice supposé unitaire sont reliés par :\n",
    "<center>$\\sin(i_{1})=n\\sin(i_{0})$</center>"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a880cd31",
   "metadata": {},
   "source": [
    "Pour obtenir une évaluation de n, on va exploiter à nouveau une simulation numérique de la réalisation d'un grand nombre de mesures avec la même configuration expérimentale."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "862fa223",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "la valeur moyenne de l'indice est égale à  1.510071639133989\n",
      "l'incertitude sur l'indice est égale à  0.029549317668178886\n"
     ]
    }
   ],
   "source": [
    "#on créée une liste de 10000 tirages aléatoires uniformément répartis sur l'intervalle étudié\n",
    "# pour l'angle d'incidence i0.\n",
    "angle_inciden=30\n",
    "l_angle=1\n",
    "N=10000\n",
    "angle_inciden_MC=angle_inciden+rd.uniform(-l_angle,l_angle,N)\n",
    "\n",
    "#on fait de même pour l'angle de réfraction i1.\n",
    "angle_refrac=49\n",
    "l_angle=1\n",
    "N=10000\n",
    "angle_refrac_MC=angle_refrac+rd.uniform(-l_angle,l_angle,N)\n",
    "\n",
    "#on evalue alors la valeur de l'indice optique pour tous les tirages aléatoires effectués\n",
    "# on notera qu'il faut convertir les angles en radian pour exploiter np.sin\n",
    "n_MC=np.sin(np.pi/180*angle_refrac_MC)/np.sin(np.pi/180*angle_inciden_MC)\n",
    "\n",
    "#On peut alors réaliser un histogramme des valeurs aléatoires calculées pour l'indice\n",
    "pl.hist(n_MC,bins='rice')\n",
    "#et en demander l'affichage.\n",
    "pl.show()\n",
    "\n",
    "#On évalue la moyenne, et l'incertitude type pour l'indice optique\n",
    "moyenne_indice=np.average(n_MC)\n",
    "u_indice=np.std(n_MC,ddof=1)\n",
    "#on affiche cette valeur moyenne et cette incertitude\n",
    "print(\"la valeur moyenne de l'indice est égale à \",moyenne_indice)\n",
    "print(\"l'incertitude sur l'indice est égale à \",u_indice)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "391c0a4e",
   "metadata": {},
   "source": [
    "La mesure de l'indice optique obtenue avec la simulation de type Monte Carlo donne alors \n",
    "- n=1,51 avec une incertitude type u(n)=0,03 (lorsqu'on donne l'incertitude avec un seule chiffre)\n",
    "- n=1,506 avec une incertitude type u(n)=0,030 (lorsqu'on donne l'incertitude avec deux chiffres)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1a795386",
   "metadata": {},
   "source": [
    "On évalue alors la compatibilité de ce résultat expérimental avec la valeur tabulée pour le plexiglas, $n_{plexiglass}$=1,50, en évaluant l'écart normalisé, encore appelé Z-score, entre la valeur expérimentale (n=1,51 ; u(n)=0,03) et la valeur théorique, en exploitant la définition :\n",
    "<center>$Z_{score}=\\left|\\frac{n-n_{plexiglass}}{u\\left(n\\right)}\\right|$</center>\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "aa4bca6b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "le Z score est de 0.34084168193281056 , il est inférieur ou égale à 2\n",
      "la mesure effectuée est cohérente avec la valeur théorique tabulée\n"
     ]
    }
   ],
   "source": [
    "n_plexiglas=1.5\n",
    "Z=np.abs((moyenne_indice-n_plexiglas)/u_indice)\n",
    "if Z<=2:\n",
    "    print(\"le Z score est de\",Z,\", il est inférieur ou égale à 2\")\n",
    "    print(\"la mesure effectuée est cohérente avec la valeur théorique tabulée\")\n",
    "else :\n",
    "    print(\"le Z score est de\",Z,\", il est supérieur à 2\")\n",
    "    print(\"la mesure effectuée n'est pas cohérente avec la valeur théorique tabulée\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4b2cc259-d00d-473a-a838-eeacbdd0288d",
   "metadata": {},
   "source": [
    "On évalue aussi vérifier la compatibilité de son résultat et de celui de son voisin en évaluant le Z-score en exploitant la définition :\n",
    "center $Z_{1/2}=\\frac{|n_{1}-n_{2}|}{\\sqrt{u_{1}^2(n)+u_{2}^2(n)}}$\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "dcc410ff-115f-4bb5-8723-325faae07d89",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "le Z score est de 2.2360679774997916 , il est supérieur à 2\n",
      "la mesure effectuée n'est pas cohérente avec la valeur théorique tabulée\n"
     ]
    }
   ],
   "source": [
    "monindice,monincert=1.51,0.01\n",
    "sonindice,sonincert=1.46,0.02\n",
    "Z2=np.abs(monindice-sonindice)/np.sqrt(monincert**2+sonincert**2)\n",
    "if Z2<=2:\n",
    "    print(\"le Z score est de\",Z2,\", il est inférieur ou égale à 2\")\n",
    "    print(\"la mesure effectuée est cohérente avec la valeur théorique tabulée\")\n",
    "else :\n",
    "    print(\"le Z score est de\",Z2,\", il est supérieur à 2\")\n",
    "    print(\"la mesure effectuée n'est pas cohérente avec la valeur théorique tabulée\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7cd46001-560c-47ef-8d3f-0f5eb7457d3a",
   "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.10.18"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
