{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## TP - Telemetre \n",
    "\n",
    "\n",
    "À l'aide du système émetteur-récepteur ultrasons, on a réalisé l'acquisition d'un ensemble de mesure correspondant à la distance entre l'émetteur et l'obstacle. On souhaite réaliser ici l'affichage de l'histogramme ainsi qu'un calcul d'incertitude sur la mesure de la distance objet écran.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "f = open(\"listetemps.csv\") # on oouvre le fichier avec les résultats\n",
    "sep=\";\" # données séparées par un ; dans tableau1\n",
    "data=f.readlines() #on lit toutes les lignes \n",
    "f.close() #on referme le fichier\n",
    "\n",
    "\n",
    "t1=[]\n",
    "\n",
    "for ligne in data: \n",
    "    ligne=ligne.strip().split(sep) #on sépare les différents éléments\n",
    "    ligne=list(map(float,ligne)) #on convertit chaque élément en flottant\n",
    "    t1.append(ligne[0]) #on rentre les valeurs dans les lites adaptées\n",
    "\n",
    "N1=len(t1)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "On peut alors afficher l'histogramme correspondant aux mesures."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10b2820f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(t1,bins = 'rice')  # La commande 'rice' permet d'optimiser les intervalles d'affichage de l'histogramme\n",
    "plt.title('Mesures de temps')\n",
    "plt.xlabel('t (micros)')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "On peut alors en déduire la valeur moyenne et l'incertitude type sur la mesure."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Moyenne = 9717.0 micros\n",
      "Ecart type = 53.4 micros\n"
     ]
    }
   ],
   "source": [
    "moy=np.mean(t1)\n",
    "ecartType=np.std(t1)\n",
    "\n",
    "print(\"Moyenne = {:.1f} micros\".format(moy))\n",
    "print(\"Ecart type = {:.1f} micros\".format(ecartType))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "On peut ensuite calculer la longueur entre le système et l'obstacle ainsi que l'incertitude type associée."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Distance=1666.5 mm\n",
      "Incertitude type=17.2 mm\n"
     ]
    }
   ],
   "source": [
    "t_mes=moy\n",
    "ut_mes=ecartType\n",
    "\n",
    "cson=343/1000 #en mm/micros\n",
    "ucson=3/1000\n",
    "\n",
    "d=cson*t_mes/2\n",
    "ud=d*np.sqrt((ucson/cson)**2+(ut_mes/t_mes)**2)\n",
    "\n",
    "print(\"Distance={:.1f} mm\".format(d))\n",
    "print(\"Incertitude type={:.1f} mm\".format(ud))\n",
    "      "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "celltoolbar": "Raw Cell Format",
  "colab": {
   "name": "python4tp.ipynb",
   "provenance": [],
   "toc_visible": true
  },
  "kernelspec": {
   "display_name": "Python 3",
   "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.6.1"
  },
  "toc": {
   "base_numbering": "0",
   "nav_menu": {
    "height": "369px",
    "width": "618.333px"
   },
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table des Matières",
   "title_sidebar": "Sommaire",
   "toc_cell": true,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "165px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
