{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "c000",
   "metadata": {},
   "source": [
    "# TP 6 — Circuit RC : traitement des données\n",
    "\n",
    "**Mode d'emploi**\n",
    "- **[FOURNIE]** : cellule déjà écrite. La lire, comprendre ce qu'elle fait, l'exécuter (`Maj + Entrée`).\n",
    "- **[À COMPLÉTER]** : remplacer les `____` puis exécuter.\n",
    "- Les réponses aux questions se rédigent **sur le sujet papier**.\n",
    "\n",
    "Exécuter les cellules **dans l'ordre**, de haut en bas."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c001",
   "metadata": {},
   "source": [
    "## 0. Bibliothèques  [FOURNIE]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "c002",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c003",
   "metadata": {},
   "source": [
    "## 1. Vos mesures  [À COMPLÉTER]\n",
    "\n",
    "Reporter ici les valeurs obtenues dans les parties 1 et 2 du TP, **en unités SI** (Ω, F, s).\n",
    "\n",
    "Écriture scientifique en Python : $100\\ \\text{nF} = 100 \\times 10^{-9}\\ \\text{F}$ s'écrit `100e-9`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "c004",
   "metadata": {},
   "outputs": [],
   "source": [
    "# --- Composants (partie 1 du TP)\n",
    "R   = 0.984e3      # résistance mesurée (ohm)\n",
    "u_R = 0.009e3     # incertitude-type sur R (ohm)\n",
    "C   = 102.3e-9      # capacité mesurée (F)\n",
    "u_C = 3.6e-9      # incertitude-type sur C (F)\n",
    "\n",
    "# --- Oscilloscope (partie 2 du TP)\n",
    "tau_osc   = 102.0e-6    # tau mesuré par la méthode des 63 % (s)\n",
    "u_tau_osc = 1.0e-6    # incertitude-type sur tau_osc (s)\n",
    "\n",
    "# --- Acquisition (partie 3 du TP)\n",
    "CHARGE  = True          # True si vous étudiez la charge, False pour la décharge\n",
    "FICHIER = \"charge.txt\"  # nom de votre fichier exporté -- à adapter éventuellement"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c005",
   "metadata": {},
   "source": [
    "Calculer la valeur attendue $\\tau_\\text{th} = RC$ et son incertitude-type :\n",
    "$$\\frac{u(\\tau_\\text{th})}{\\tau_\\text{th}} = \\sqrt{\\left(\\frac{u(R)}{R}\\right)^2 + \\left(\\frac{u(C)}{C}\\right)^2}$$\n",
    "\n",
    "**[À COMPLÉTER]** — `np.sqrt()` calcule une racine carrée."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "c006",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tau_th = 100.7 µs  ±  3.7 µs\n"
     ]
    }
   ],
   "source": [
    "tau_th   = R*C\n",
    "u_tau_th = tau_th * np.sqrt((u_C / C) **2 + (u_R / R)**2 )\n",
    "\n",
    "print(f\"tau_th = {tau_th*1e6:.1f} µs  ±  {u_tau_th*1e6:.1f} µs\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c007",
   "metadata": {},
   "source": [
    "**Auto-vérification [FOURNIE]** : si un message d'erreur apparaît, relire vos unités."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "c008",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Ordres de grandeur corrects ✔\n"
     ]
    }
   ],
   "source": [
    "assert 20e-6 < tau_th < 500e-6, \"tau_th doit être de l'ordre de 100 µs : vérifier les unités de R et C.\"\n",
    "assert 20e-6 < tau_osc < 500e-6, \"tau_osc doit être de l'ordre de 100 µs : est-il bien en secondes ?\"\n",
    "print(\"Ordres de grandeur corrects ✔\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c009",
   "metadata": {},
   "source": [
    "## 2. Lecture des données  [FOURNIE]\n",
    "\n",
    "La fonction ci-dessous lit le fichier exporté par LatisPro.\n",
    "Elle renvoie trois tableaux : le temps `t`, la tension du GBF `e` (voie EA1) et la tension du condensateur `u` (voie EA2).\n",
    "\n",
    "*Les réglages `SEPARATEUR`, `VIRGULE_DECIMALE` et `LIGNES_ENTETE` ont été testés par le professeur : ne pas les modifier.*\n",
    "\n",
    "Appeler le professeur en cas de bug."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "c010",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "250 points lus, de t = -125 µs à t = 373 µs\n"
     ]
    }
   ],
   "source": [
    "SEPARATEUR       = \";\"   # caractère qui sépare les colonnes\n",
    "VIRGULE_DECIMALE = True  # LatisPro en français écrit 1,5 au lieu de 1.5\n",
    "LIGNES_ENTETE    = 1     # nombre de lignes de titre à ignorer\n",
    "\n",
    "def lire_latispro(nom):\n",
    "    with open(nom, encoding=\"latin-1\") as f:\n",
    "        lignes = f.readlines()[LIGNES_ENTETE:]\n",
    "    if VIRGULE_DECIMALE:\n",
    "        lignes = [l.replace(\",\", \".\") for l in lignes]\n",
    "    donnees = np.loadtxt(lignes, delimiter=SEPARATEUR)\n",
    "    return donnees[:, 0], donnees[:, 1], donnees[:, 3]\n",
    "\n",
    "t, e, u = lire_latispro(FICHIER)\n",
    "print(f\"{len(t)} points lus, de t = {t[0]*1e6:.0f} µs à t = {t[-1]*1e6:.0f} µs\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c011",
   "metadata": {},
   "source": [
    "### Origine des temps  [FOURNIE]\n",
    "\n",
    "Le modèle suppose que $t = 0$ correspond **au front** de $e(t)$.\n",
    "On repère donc le premier point où $e$ franchit la moitié de sa variation, puis on décale tous les temps pour que ce point soit à $t = 0$.\n",
    "Les points enregistrés avant le front (pré-déclenchement) ont ainsi des temps négatifs."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "c012",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Front repéré au point n°63 ; t va maintenant de -126 µs à 372 µs\n"
     ]
    }
   ],
   "source": [
    "seuil = (e.max() + e.min())/2\n",
    "if CHARGE:\n",
    "    i_front = np.argmax(e > seuil)   # premier indice où e dépasse le seuil (front montant)\n",
    "else:\n",
    "    i_front = np.argmax(e < seuil)   # premier indice où e passe sous le seuil (front descendant)\n",
    "\n",
    "t = t - t[i_front]\n",
    "print(f\"Front repéré au point n°{i_front} ; t va maintenant de {t[0]*1e6:.0f} µs à {t[-1]*1e6:.0f} µs\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c013",
   "metadata": {},
   "source": [
    "## 3. Tracé des données  [À COMPLÉTER]\n",
    "\n",
    "Tracer sur un même graphique :\n",
    "- $e(t)$ en trait gris (`'-'` et `color='grey'`), avec le label `\"e(t) (GBF)\"` ;\n",
    "- $u_C(t)$ en points rouges (`'.r'`), avec le label `\"u_C(t) mesurée\"`.\n",
    "\n",
    "Pour lire les temps en microsecondes, on trace `t*1e6` plutôt que `t`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "c014",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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lWLZsmXi559/FsuWLWt2emFz9xXCtn87X+LNfX3p0iWRnZ0tNm3aJACIDRs2iOzsbFFUVOSGnnEub+1nrVYrJk2aJOLj48WRI0dEUVGR6cubf0e0xFv7urKyUixcuFBkZWWJgoICcejQITFr1iyhVqvF0aNH3dQ7vo+BigMuXbokpk+fLjp06CA6dOggpk+fLsrKyszOASDWrl1r+l6v14tFixaJ6OhooVarxciRI0Vubq7Zc2pqasTjjz8uwsPDRWBgoJg4caI4c+aM3fceNWqUAGDxlZ+f78RecL5//etfIjExUfj7+4vrr79e7Nq1y/TYzJkzxahRo8zO37lzpxg0aJDw9/cXSUlJYtWqVRbX/OSTT0SvXr2ESqUSvXv3Fp9++qld9xXCtn87X+Otfb127VqrP7uLFi1yyut2N2/sZ+PUb2tfO3bscNprdzdv7Ouamhpx1113idjYWOHv7y9iYmLEpEmTxE8//eS8F94OSEL8VkFERERE5GVYo0JERERei4EKEREReS0GKkREROS1GKgQERGR12KgQkRERF6LgQoRERF5LQYqRERE5LUYqBAREZHXYqBCRB7366+/Ijo6GlevXnXK9d5++21MmjTJKdciIs9ioEJELjF69Gg89dRTNp37wgsv4LHHHkOHDh2ccu/Zs2fjwIED2LNnj1OuR0Sew0CFiDxKo9Hgq6++wkMPPeS0a6rVatx///345z//6bRrEpFnMFAhIqd78MEHsWvXLqxYsQKSJEGSJBQUFFg99+OPP0Zqairi4+NNxxYvXoyBAweanff3v/8dSUlJpu937tyJYcOGITg4GB07dsRNN92EwsJC0+OTJk3CF198gZqaGme+NCJyMwYqROR0K1aswIgRIzB79mwUFRWhqKgICQkJVs/dvXs3hgwZYtf1GxoaMHnyZIwaNQo5OTnIysrCnDlzIEmS6ZwhQ4ZAq9Xip59+atNrISLP8vN0A4hIfsLCwuDv74+goCBER0e3eG5BQQEGDx5s1/UrKipQXl6OiRMnonv37gCAPn36mJ1jzLQUFBRg1KhR9r0AIvIazKgQkUfV1NQgICDArueEh4fjwQcfRHp6Ou644w6sWLECRUVFFucFBgaiurraWU0lIg9goEJEHhUREYGysrJWz9PpdGbfr127FllZWbjxxhuxceNG9OzZE/v27TM75/Lly4iMjHRqe4nIvRioEJFL+Pv7WwQX1gwaNAh5eXkWxy9cuGD2/enTp60+d+HChdi7dy/69++PdevWmR47deoUamtrMWjQIAdaT0TegoEKEblEUlIS9u/fj4KCApSWlkKv11s9Lz09HVlZWRZBTXFxMV566SWcPn0an376Kf7v//4PZWVl+OWXX5Cfn4+FCxciKysLhYWF2LZtG44fP25Wp/LDDz+gW7duphoWIvJNDFSIyCUWLFgApVKJvn37IjIyEmfOnLF63m233QaVSoXt27ebHe/fvz+OHz+Ofv364cUXX8R7770Hf39/LFiwAEFBQfjll1/wu9/9Dj179sScOXPw+OOPY+7cuabnr1+/HrNnz3bpayQi15OEEMLTjSCi9m3lypX48ssvsXXrVgCGdVS++OILHDlyxKHrHT16FOPGjcPx48cRFhbmxJYSkbtxejIRedycOXNQVlaGq1evOmUZ/fPnz+PDDz9kkEIkAwxUiMjj/Pz88MILLzjtemlpaU67FhF5Fod+iIiIyGuxmJaIiIi8FgMVIiIi8loMVIiIiMhrMVAhIiIir8VAhYiIiLwWAxUiIiLyWgxUiIiIyGsxUCEiIiKv9f8BiJKJA+/JTLoAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure()\n",
    "plt.plot(t, e, '-', color='grey', label=\"e(t) (GBF)\")\n",
    "plt.plot(t, u, '.r', label=\"u_C(t) mesurée\")\n",
    "plt.xlabel(\"t (µs)\")\n",
    "plt.ylabel(\"tension (V)\")\n",
    "plt.legend()\n",
    "plt.grid()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c015",
   "metadata": {},
   "source": [
    "## 4. Linéarisation — étape 1 : tous les points\n",
    "\n",
    "Le modèle (charge comme décharge) s'écrit :\n",
    "$$u_C(t) = u_\\infty + (u_0 - u_\\infty)\\,e^{-t/\\tau}\n",
    "\\quad\\Longleftrightarrow\\quad\n",
    "y = \\ln\\!\\left(\\frac{u_\\infty - u_C}{u_\\infty - u_0}\\right) = -\\frac{t}{\\tau}$$\n",
    "\n",
    "Si le modèle est valide, $y$ en fonction de $t$ est une **droite passant par l'origine**, de pente $-1/\\tau$.\n",
    "\n",
    "### Estimation de $u_0$ et $u_\\infty$  [FOURNIE]\n",
    "\n",
    "- $u_0$ : moyenne des points **avant** le front ($t < 0$) ;\n",
    "- $u_\\infty$ : moyenne des **50 derniers points**.\n",
    "\n",
    "On utilise des moyennes plutôt qu'une seule valeur (comme `max(u)`), car une valeur isolée est sensible au bruit."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "c016",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "u0 = 0.133 V   et   u_inf = 4.651 V\n"
     ]
    }
   ],
   "source": [
    "u0   = np.mean(u[t < 0])\n",
    "uinf = np.mean(u[-50:])\n",
    "print(f\"u0 = {u0:.3f} V   et   u_inf = {uinf:.3f} V\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c017",
   "metadata": {},
   "source": [
    "### Calcul et tracé de $y$  [À COMPLÉTER]\n",
    "\n",
    "`np.log()` calcule le logarithme népérien. Tracer `y` en fonction de `t` en points bleus (`'.b'`)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "c018",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/var/folders/wr/9rbtvb1n1y5d6j0k4k7ss7hc0000gn/T/ipykernel_19172/1767480309.py:1: RuntimeWarning: invalid value encountered in log\n",
      "  y = np.log((uinf - u) / (uinf - u0))\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj8AAAHICAYAAACh04sLAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAQC5JREFUeJzt3Xl8VNXB//HvJGQhgYAwSMAhCQKC7KtIrLIoS2WxLo9SLIqNgCh9cEEfrO2PYH3UClKpNipKUVu3PqIiWJWAuJWwqCwiskrACIhBJCwSQub8/hhnyJ6ZZJK5M/fzfr3yCnNz7r1n5oD5eu5ZHMYYIwAAAJuICnUFAAAA6hPhBwAA2ArhBwAA2ArhBwAA2ArhBwAA2ArhBwAA2ArhBwAA2ArhBwAA2ArhBwAA2ArhB6hnv/vd79S7d28VFBSEuioAYEsNQl0BwE7+8Y9/aNmyZfrkk0+UlJQU6uoAgC052NsLAADYCY+9gDr23HPPyeFwVPr1wQcf+Mo++OCDevPNN0NW10AsXbpUN9xwg7p166aYmBg5HI46uc+JEyeUmZlZ6nOyokGDBmnQoEGhrkatORwOZWZm1ujcrKwsPffcc0GtD1AXeOwF1JOFCxeqU6dO5Y537tzZ9+cHH3xQ11xzjX71q1/VY81q5o033tDq1avVq1cvxcXF6bPPPquT+5w4cUKzZs2SpIgIF1aXk5Mjl8tVo3OzsrLkdDo1YcKE4FYKCDLCD1BPunbtqr59+4a6GkHzzDPPKCrK03k8derUOgs/qF8XXnhhqKsA1DkeewEW4XA4dPz4cT3//PO+R2Leno7vv/9et956qzp37qxGjRrp7LPP1pAhQ/Txxx+XukZubq4cDoceeeQR/e///q9SUlIUHx+vvn37asWKFeXuuWPHDo0bN05nn3224uLidP755+tvf/ubX/X1Bp+6lJubqxYtWkiSZs2a5ftcSvYsfPLJJ7r00kvVuHFjJSQkKD09XW+//Xap62RmZlb4WM77SDI3N9d37P3339egQYPUvHlzNWzYUCkpKbr66qt14sSJgOt/6tQpPfDAA+rUqZPi4uLUokUL3XTTTfr+++9LlavpPdPS0jRq1Ci98cYb6t69u+Lj43Xuuefqr3/9a7mye/fu1W9+85tSbf3oo4/K7XaXKlf2sZf3M1q5cqWmTJkip9Op5s2b66qrrtK+fftK1eXLL7/Uhx9+6GuntLQ0SZLb7dYDDzygjh07qmHDhmratKm6d++uefPmBfiJAsFBzw9QT4qLi3X69OlSxxwOh6KjoyV5HjcMGTJEgwcP1h//+EdJ8s0I++GHHyRJM2fOVHJyso4dO6Y33nhDgwYN0ooVK8o9DnriiSeUmpqqxx57TG63W4888oh++ctf6sMPP9SAAQMkSVu2bFF6erpSUlL06KOPKjk5We+9957++7//W/n5+Zo5c2ZdfhyaMGGCnn/+ee3evdv3S7KsVq1a6d1339WIESOUkZGhm2++WZJ8gejDDz/U0KFD1b17dy1YsEBxcXHKysrS6NGj9fLLL+u6664LqE65ubkaOXKkLr74Yv39739X06ZN9e233+rdd9/VqVOnlJCQ4Pe13G63rrjiCn388ce65557lJ6erj179mjmzJkaNGiQPv30UzVs2LDW99ywYYNuv/12ZWZmKjk5WS+++KKmTZumU6dOafr06ZI84Tk9PV2nTp3Sn/70J6WlpWnp0qWaPn26du3apaysrGrfz80336yRI0fqpZde0jfffKO7775bv/nNb/T+++9L8jwGveaaa9SkSRPf9eLi4iRJjzzyiDIzM/WHP/xBl1xyiYqKirR161b9+OOPfn+eQFAZAHVq4cKFRlKFX9HR0aXKJiYmmhtvvLHaa54+fdoUFRWZSy+91Fx55ZW+47t37zaSTOvWrc1PP/3kO15QUGCaNWtmLrvsMt+x4cOHG5fLZY4cOVLq2lOnTjXx8fHmhx9+8Ps93nbbbSbQ/5z89re/NdHR0SY3N7fKct9//72RZGbOnFnuZxdeeKE5++yzzdGjR33HTp8+bbp27WpcLpdxu93GGGNmzpxZYf28bbN7925jjDGvvfaakWQ2bNgQ0HsxxpiBAweagQMH+l6//PLLRpJZtGhRqXLr1q0zkkxWVlat75mammocDke5c4cOHWqSkpLM8ePHjTHGzJgxw0gya9asKVVuypQpxuFwmG3btvmOlf2svZ/RrbfeWurcRx55xEgy+/fv9x3r0qVLqc/Aa9SoUaZnz54Bvz+grvDYC6gnL7zwgtatW1fqa82aNX6f/9RTT6l3796Kj49XgwYNFBMToxUrVuirr74qV/aqq65SfHy873Xjxo01evRoffTRRyouLtbJkye1YsUKXXnllUpISNDp06d9X5dffrlOnjyp1atXB+V9V2bBggU6ffq0UlNTa3T+8ePHtWbNGl1zzTVq1KiR73h0dLTGjx+vvLw8bdu2LaBr9uzZU7GxsZo0aZKef/55ff311zWqm+SZDde0aVONHj261Ofbs2dPJScn+2av1faeXbp0UY8ePUodGzdunAoKCvT5559L8jxW69y5sy644IJS5SZMmCBjjK/3pipjxowp9bp79+6SpD179lR77gUXXKCNGzfq1ltv1XvvvccCnwg5wg9QT84//3z17du31FefPn38Onfu3LmaMmWK+vfvr0WLFmn16tVat26dRowYoZ9++qlc+eTk5AqPnTp1SseOHdOhQ4d0+vRpPf7444qJiSn1dfnll0uS8vPza/eG69jhw4dljFGrVq3K/ax169aSpEOHDgV0zXbt2mn58uU6++yzddttt6ldu3Zq165djcamfPfdd/rxxx8VGxtb7jM+cOCA7/Ot7T0ra2vpzPs/dOhQrT+n5s2bl3rtfaRV0d+/su69917NmTNHq1ev1i9/+Us1b95cl156qT799NNqzwXqAmN+gDDwz3/+U4MGDdKTTz5Z6vjRo0crLH/gwIEKj8XGxqpRo0aKiYnx9ZDcdtttFV6jbdu2ta94HTrrrLMUFRWl/fv3l/uZdyCu0+mUJF8vWGFhoe+XtlRxwLv44ot18cUXq7i4WJ9++qkef/xx3X777WrZsqXGjh3rd/28A4PffffdCn/euHHjoNyzsraWzgSW5s2b+/U51ZUGDRrozjvv1J133qkff/xRy5cv1+9//3sNHz5c33zzTUBjqYBgoOcHsJC4uLgK/0/a4XCU+qUtSZs2bVJOTk6F13n99dd18uRJ3+ujR49qyZIluvjiixUdHa2EhAQNHjxY69evV/fu3cv1SPXt27fc/+mHSmU9DImJierfv79ef/31Uj9zu9365z//KZfLpfPOO0+SfAOqN23aVOoaS5YsqfS+0dHR6t+/v2/2m/cRkr9GjRqlQ4cOqbi4uMLPt2PHjkG555dffqmNGzeWOvbSSy+pcePG6t27tyTp0ksv1ZYtW8pd74UXXpDD4dDgwYMDem+Vqezvb0lNmzbVNddco9tuu00//PBDqZl2QH2h5weoJ5s3by4320vyPPbwzl7q1q2bPvjgAy1ZskStWrVS48aN1bFjR40aNUp/+tOfNHPmTA0cOFDbtm3T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VRUVFSk7O1tDhw5VTExMqKuDn9Eu1kObWBPtYk01bZe8PGnXLocSEoxOnHCoXTtTJ4+7CgoK5HQ6/Qo/YfHYa+rUqRo7dmyVZdLS0nT06FFJUufOnX3H4+LidO6552rv3ooTZlxcnOLi4sodj4mJCft/dJHwHiIR7WI9tIk10S7WFGi7tG3r+aprgdQpLMKP0+mU0+mstlyfPn0UFxenbdu26Re/+IUkT1LNzc1VampqXVcTAACEgbAIP/5KSkrSLbfcopkzZ6pNmzZKTU3V7NmzJUn/9V//FeLaAQAAK4io8CNJs2fPVoMGDTR+/Hj99NNP6t+/v95//32dddZZoa4aAACwgIgLPzExMZozZ47mzJkT6qoAAAALisjtLQAAACpD+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALZC+AEAALYSceFn+/btuuKKK+R0OpWUlKSLLrpIK1euDHW1AACARURc+Bk5cqROnz6t999/X5999pl69uypUaNG6cCBA6GuGgAAsICICj/5+fnauXOnZsyYoe7du6tDhw56+OGHdeLECX355Zehrh4AALCABqGuQDA1b95c559/vl544QX17t1bcXFxevrpp9WyZUv16dOnwnMKCwtVWFjoe11QUCBJKioqUlFRUb3UO9i89Q7X+kcq2sV6aBNrol2syertEki9HMYYU4d1qXfffvutrrjiCn3++eeKiopSy5Yt9fbbb6tnz54Vls/MzNSsWbPKHX/ppZeUkJBQx7UFAADBcOLECY0bN05HjhxRUlJSlWXDIvxUFlBKWrdunfr06aNf/epXKioq0n333aeGDRvq2Wef1VtvvaV169apVatW5c6rqOenTZs2ys/Pr/bDs6qioiJlZ2dr6NChiomJCXV18DPaxXpoE2uiXazJ6u1SUFAgp9PpV/gJi8deU6dO1dixY6ssk5aWpvfff19Lly7V4cOHfW88KytL2dnZev755zVjxoxy58XFxSkuLq7c8ZiYGEs2biAi4T1EItrFemgTa6JdrMmq7RJIncIi/DidTjmdzmrLnThxQpIUFVV6HHdUVJTcbned1A0AAISXiJrtNWDAAJ111lm68cYbtXHjRm3fvl133323du/erZEjR4a6egAAwAIiKvw4nU69++67OnbsmIYMGaK+ffvqk08+0eLFi9WjR49QVw8AAFhAWDz2CkTfvn313nvvhboaAADAoiKq5wcAAKA6hB8AAGArhB8AAGArhB8AAGArhB8AAGArhB8AAGArhB8AAGArhB8AAGArhB8AAGArhB8AAGArhB8AAGArhB8AAFBv8vKklSs930OF8AMAAOrFggVSaqo0ZIjn+4IFoakH4QcAANS5vDxp0iTJ7fa8drulyZND0wNE+AEAAHVux44zwceruFjaubP+60L4AQAAda5DBymqTOqIjpbat6//uhB+AABAnXO5pPnzPYFH8nx/+mnP8frWoP5vCQAA7CgjQxo+3POoq3370AQfifADAADqkcsVutDjxWMvAABgK4QfAABgK4QfAABgK4QfAABgK4QfAABgK4QfAABgK4QfAABgK4QfAABgK4QfAABgK4QfAABgK4QfAABgK+ztVYYxRpJUUFAQ4prUXFFRkU6cOKGCggLFxMSEujr4Ge1iPbSJNdEu1mT1dvH+3vb+Hq8K4aeMo0ePSpLatGkT4poAAIBAHT16VE2aNKmyjMP4E5FsxO12a9++fWrcuLEcDkeoq1MjBQUFatOmjb755hslJSWFujr4Ge1iPbSJNdEu1mT1djHG6OjRo2rdurWioqoe1UPPTxlRUVFyuVyhrkZQJCUlWfIvqN3RLtZDm1gT7WJNVm6X6np8vBjwDAAAbIXwAwAAbIXwE4Hi4uI0c+ZMxcXFhboqKIF2sR7axJpoF2uKpHZhwDMAALAVen4AAICtEH4AAICtEH4AAICtEH4AAICtEH4s6PDhwxo/fryaNGmiJk2aaPz48frxxx+rPMcYo8zMTLVu3VoNGzbUoEGD9OWXX5YqU1hYqN/97ndyOp1KTEzUmDFjlJeXF/C9p02bpj59+iguLk49e/YMwju2nqysLLVt21bx8fHq06ePPv744yrLf/jhh+rTp4/i4+N17rnn6qmnnipXZtGiRercubPi4uLUuXNnvfHGGwHf1592jmRWbZfXX39dw4cPl9PplMPh0IYNG2r1PsOJFdukqKhI//M//6Nu3bopMTFRrVu31g033KB9+/bV/g2HCSu2iyRlZmaqU6dOSkxM1FlnnaXLLrtMa9asqd2brQkDyxkxYoTp2rWrWbVqlVm1apXp2rWrGTVqVJXnPPzww6Zx48Zm0aJF5osvvjDXXXedadWqlSkoKPCVueWWW8w555xjsrOzzeeff24GDx5sevToYU6fPh3QvX/3u9+ZJ554wowfP9706NEjqO/dCl555RUTExNjnnnmGbNlyxYzbdo0k5iYaPbs2VNh+a+//tokJCSYadOmmS1btphnnnnGxMTEmNdee81XZtWqVSY6Oto8+OCD5quvvjIPPvigadCggVm9enVA9/WnnSOVldvlhRdeMLNmzTLPPPOMkWTWr19fZ5+DlVi1TX788Udz2WWXmVdffdVs3brV5OTkmP79+5s+ffrU7QdiEVZtF2OMefHFF012drbZtWuX2bx5s8nIyDBJSUnm4MGDdfeBVIDwYzFbtmwxkkr9hcrJyTGSzNatWys8x+12m+TkZPPwww/7jp08edI0adLEPPXUU8YYz38MYmJizCuvvOIr8+2335qoqCjz7rvv1ujeM2fOjMjwc8EFF5hbbrml1LFOnTqZGTNmVFj+nnvuMZ06dSp1bPLkyebCCy/0vb722mvNiBEjSpUZPny4GTt2rN/39aedI5lV26Wk3bt32yr8hEObeK1du9ZIqjQARJJwapcjR44YSWb58uVVv6kg47GXxeTk5KhJkybq37+/79iFF16oJk2aaNWqVRWes3v3bh04cEDDhg3zHYuLi9PAgQN953z22WcqKioqVaZ169bq2rWrr0xN7h1pTp06pc8++6zU5yRJw4YNq/QzyMnJKVd++PDh+vTTT1VUVFRlGe81/bmvP+0cqazc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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "y = np.log((uinf - u) / (uinf - u0))\n",
    "\n",
    "plt.figure()\n",
    "plt.plot(t, y, '.b')\n",
    "plt.xlabel(\"t (µs)\")\n",
    "plt.ylabel(r\"$\\ln\\left(\\frac{u_\\infty - u_C}{u_\\infty - u_0}\\right)$\")\n",
    "plt.title(\"Étape 1 : tous les points\")\n",
    "plt.grid()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c019",
   "metadata": {},
   "source": [
    "**Si un avertissement `RuntimeWarning: invalid value encountered in log` s'affiche, c'est normal.** C'est même le sujet de la question suivante.\n",
    "\n",
    "➜ Répondre aux questions de l'**étape 1** sur le sujet : que se passe-t-il avant $t = 0$, aux temps courts, aux temps longs ? Pourquoi ?"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c020",
   "metadata": {},
   "source": [
    "## 5. Linéarisation — étape 2 : ne garder que les points utiles\n",
    "\n",
    "### Nouvel outil : le masque  [FOURNIE]\n",
    "\n",
    "Un **masque** est un tableau de `True` / `False` de même taille que les données.\n",
    "- On le fabrique avec une **condition** sur un tableau.\n",
    "- On l'utilise pour **ne garder que les éléments où il vaut `True`**.\n",
    "\n",
    "Exemple sur un petit tableau :"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "c021",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "masque           : [False  True  True  True False False]\n",
      "temps[masque]    : [1 2 3]\n",
      "mesures[masque]  : [20 30 40]\n"
     ]
    }
   ],
   "source": [
    "temps   = np.array([0, 1, 2, 3, 4, 5])\n",
    "mesures = np.array([10, 20, 30, 40, 50, 60])\n",
    "\n",
    "masque = (temps >= 1) & (temps <= 3)   # le symbole & signifie « ET »\n",
    "print(\"masque           :\", masque)\n",
    "print(\"temps[masque]    :\", temps[masque])\n",
    "print(\"mesures[masque]  :\", mesures[masque])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c022",
   "metadata": {},
   "source": [
    "À retenir :\n",
    "- `temps >= 1` donne `[False, True, True, True, True, True]` ;\n",
    "- `(temps >= 1) & (temps <= 3)` ne vaut `True` que si **les deux** conditions sont vraies ;\n",
    "- `mesures[masque]` ne garde que les mesures **aux mêmes positions** que les `True`.\n",
    "\n",
    "*Chaque condition doit être entre parenthèses.*\n",
    "\n",
    "### Application à nos données  [FOURNIE]\n",
    "\n",
    "On garde les points tels que $0 \\leqslant t \\leqslant 3\\tau$, en utilisant $\\tau_\\text{osc}$ mesuré à l'oscilloscope.\n",
    "On écarte aussi les éventuelles valeurs non calculables avec `np.isfinite(y)`, qui vaut `True` quand `y` est un vrai nombre."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "c023",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "118 points conservés sur 250\n"
     ]
    }
   ],
   "source": [
    "masque = (t >= 0) & (t <= 2.3*tau_osc) & np.isfinite(y)\n",
    "\n",
    "t_m = t[masque]\n",
    "y_m = y[masque]\n",
    "print(f\"{len(t_m)} points conservés sur {len(t)}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c024",
   "metadata": {},
   "source": [
    "### Régression linéaire  [FOURNIE]\n",
    "\n",
    "`np.polyfit(x, y, 1)` cherche la meilleure droite $y = a\\,t + b$.\n",
    "L'option `cov=True` renvoie en plus de quoi calculer l'incertitude-type sur $a$.\n",
    "\n",
    "Comme $a = -1/\\tau$, on obtient $\\tau_\\text{fit} = -1/a$ et $u(\\tau_\\text{fit}) = u(a)/a^2$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "c025",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "pente a = -1.15e+04 s^-1     ordonnée à l'origine b = 0.068\n",
      "tau_fit = 87.0 µs  ±  0.5 µs\n"
     ]
    },
    {
     "data": {
      "image/png": "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+Phi2Sk6MjKS4cOHM3z4cPz9/SlbtizPP/88hmFY61y8eJF+/fpRpkwZPD096dy5M3/99Zf1/muHvcaNG0ejRo2YO3cuoaGh+Pn50atXL+Li4gAYMGAA69atY+rUqZhMJkwmE0ePHuXixYs88MADlCtXDg8PD2rWrMmsWbNyjN0wDN58802qVauGh4cHDRs25Ouvv85UZ8+ePXTt2hVfX198fHxo1aoVhw4dAmDbtm20b9+ewMBA/Pz8iIiI4Pfff8/0eJPJxPTp0+nRowdeXl4MHjyYNm3aAFCmTBlMJhMDBgzINp7GjRvz7bffZnof8/P67Il6fkREpMhcuHCBkydPWm8HBwcTEBBQpM85Z84cBg0axNatW/n11195+OGHqVq1KkOGDAHSk5W//vqL7777Dl9fX5566im6dOnC3r17c9w75tChQyxevJglS5Zw8eJF/ve///H666/zyiuvMHXqVA4cOECDBg2YMGECkL4fzeOPP87evXtZtmwZgYGBHDx4kISEhBzjfv7551m0aBEffPABNWvWZP369Tz44IOUK1eOiIgI/vnnH1q3bk1kZCSrV6/G19eXjRs3kpqaCkBcXBz9+/fnnXfeAWDixIl06dKFv/76Cx8fH+vzjB07ltdee43Jkyfj5OREjx496NmzJ/v378fX19fa63VtPGvXruWRRx6hSpUqtGnThhdeeCFfr8+eKPkREZEikZKSkinxATh58iQ+Pj43tEHd9YSEhDB58mRMJhO1a9dm165dTJ48mSFDhliTno0bN9KiRQsAPv/8c0JCQli8eDH33Xdftte0WCzMnj3bmkT07duXVatW8corr+Dn54erqyuenp4EBQVZH3P8+HEaN25Ms2bNAAgNDc0x5suXLzNp0iRWr15NeHg4ANWqVePnn39mxowZRERE8N577+Hn58f8+fOt71+tWrWs12jbtm2ma86YMYMyZcqwbt06unXrZi3v06cPAwcOtN4+cuQIAOXLl7f2eGUXT2hoKGvXrmXmzJm0adMmX6/P3ij5ERGRIpGUlJRjeVEmP82bN8+0H0x4eDgTJ04kLS2NP//8E2dnZ2677Tbr/WXLlqV27dr8+eefOV4zNDQ0U+9JxYoVOXv2bK5xDB06lJ49e/L777/ToUMH7rrrLmvCda29e/eSmJhI+/btM5UnJyfTuHFjAHbs2EGrVq1y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zB8lPyIiInYqr5saavPD/FHyIyIiYqeyW/11La0Gyz8lPyIiInYsICCAatWqZXtftWrVNNm5ALTaS0RExM5ZLJZsy5OTk7FYLJjNZiwWi5a+55GSHxERETuX05yev//+O0uZlr5fn4a9RERE7Fxe5v5k0NL361PPj4iISAlw9c7PaWlpnDhxIse6SUlJGv7KhZIfERGREiJj5+fr9exo6XvuNOwlIiJSwuQ2DKal79ennh8REZES6OphMK32yh8lPyIiIiXU1QegQvpZYPHx8UqCrkPJj4iIiAO49vR3LXnPmeb8iIiIlHDZnf6uJe85U/IjIiJSwuV0qrtOe8+ekh8REZESLqel7Wazvuazo3dFRESkhMtp6fvhw4e5cOGCDSKyb0p+REREHEBOp79r7k9WSn5EREQcRE6nv2vuT2ZKfkRERBxETnN/dNxFZkp+REREHER2c3/Kli1r3fxQw1/ptMmhiIiIA8k49iI6Oprz589bfzJo80P1/IiIiDikqxOeq2kCtJIfERERh3O9Cc6lfQK0kh8REREHc70JzqV9ArSSHxEREQeT06aHkD7np7Sf+K4JzyIiIg4oY+JzUlISZrMZi8WCm5tbqU98QMmPiIiIw3JxcVGykw0Ne4mIiEipouRHREREShUlPyIiIlKqKPkRERGRUkXJj4iIiJQqSn5ERESkVHHY5CcpKYlGjRphMpnYsWOHrcMRERGxOZ3uns5h9/kZM2YMwcHB/PHHH7YORURExOYuXLjAyZMnrbdL8+nuDtnzs2zZMpYvX87bb79t61BERERsLiUlJVPiA6X7dHeH6/k5c+YMQ4YMYfHixXh6el63flJSUqbTbWNjY4H0D0pJ/VBkxF1S43dUahf7ozaxT2qXwnflypUcy/PyXQn23y75ictkGIZRhLEUK8Mw6NKlCy1btuT555/n6NGjhIWFsX37dho1apTtY8aNG8f48eOzlM+bNy/PHwgRERF75uTkRNWqVTGZTNYywzA4duwYaWlpNoys8Fy5coU+ffoQExODr69vrnVLRPKTU4JytW3btrFp0yYWLFjA+vXrcXJyylPyk13PT0hICNHR0dd98+xVSkoKK1asoH379jrTxY6oXeyP2sQ+qV2KxqVLlzhz5oz1doUKFfD398/z4+29XWJjYwkMDMxT8lMihr2GDx9Or169cq0TGhrKyy+/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wVGFhYURFBSUqU2Sk5NZt26dtU2aNm2Ki4tLpjqnTp1i9+7darcCMgyD4cOHs2jRIlavXk1YWFim+9Uu9sEwDJKSkhy/PWwzz1oKy7Fjx4zt27cb48ePN7y9vY3t27cb27dvN+Li4gzDMIzU1FSjQYMGRrt27Yzff//dWLlypVG5cmVj+PDh1mtcunTJqFChgtG7d29j165dxqJFiwxfX1/j7bffttXLcijz5883XFxcjI8//tjYu3evMXLkSMPLy8s4evSorUNzWHFxcdZ/C4AxadIkY/v27caxY8cMwzCM119/3fDz8zMWLVpk7Nq1y+jdu7dRsWJFIzY21nqNRx991KhcubKxcuVK4/fffzfatm1rNGzY0EhNTbXVyyrRhg4davj5+Rlr1641Tp06Zf25cuWKtY7apXg988wzxvr1640jR44YO3fuNJ599lnDbDYby5cvNwzDsdtDyU8J179/fwPI8rNmzRprnWPHjhldu3Y1PDw8jICAAGP48OGZlrUbhmHs3LnTaNWqleHm5mYEBQUZ48aN0zL3QvTee+8ZVatWNVxdXY0mTZpYl/dK0VizZk22/y769+9vGEb6suqxY8caQUFBhpubm9G6dWtj165dma6RkJBgDB8+3AgICDA8PDyMbt26GcePH7fBq3EM2bUHYMyaNctaR+1SvAYOHGj9f6lcuXJGu3btrImPYTh2e5gMQ9v4ioiISOmhOT8iIiJSqij5ERERkVJFyY+IiIiUKkp+REREpFRR8iMiIiKlipIfERERKVWU/IiIiEipouRHRBzS/v37CQoKIi4urlCu9+6773LnnXcWyrVExLaU/IhIiREZGcnIkSPzVPe5555j2LBh+Pj4FMpzDxkyhG3btvHzzz8XyvVExHaU/IiIw/n777/57rvveOihhwrtmm5ubvTp04dp06YV2jVFxDaU/IhIiTBgwADWrVvH1KlTMZlMmEwmjh49mm3dL7/8koYNG1K5cmVr2bhx42jUqFGmelOmTCE0NNR6e+3atdx66614eXnh7+9Py5YtOXbsmPX+O++8k8WLF5OQkFCYL01EipmSHxEpEaZOnUp4eDhDhgzh1KlTnDp1ipCQkGzrrl+/nmbNmuXr+qmpqdx1111ERESwc+dONm/ezMMPP4zJZLLWadasGSkpKfzyyy839FpExLacbR2AiEhe+Pn54erqiqenJ0FBQbnWPXr0KE2bNs3X9WNjY4mJiaFbt25Ur14dgLp162aqk9EjdPToUSIiIvL3AkTEbqjnR0QcTkJCAu7u7vl6TEBAAAMGDKBjx450796dqVOncurUqSz1PDw8uHLlSmGFKiI2oORHRBxOYGAgFy9evG69tLS0TLdnzZrF5s2badGiBQsWLKBWrVps2bIlU50LFy5Qrly5Qo1XRIqXkh8RKTFcXV2zJCzZady4MXv37s1SfubMmUy3Dx8+nO1jn3nmGTZt2kSDBg2YN2+e9b5Dhw6RmJhI48aNCxC9iNgLJT8iUmKEhoaydetWjh49SnR0NBaLJdt6HTt2ZPPmzVkSpdOnTzNhwgQOHz7MwoULmTt3LhcvXmTfvn0cOXKEZ555hs2bN3Ps2DGWL1/OgQMHMs372bBhA9WqVbPOCRKRkknJj4iUGKNHj8bJyYl69epRrlw5jh8/nm29Ll264OLiwsqVKzOVN2jQgAMHDlC/fn1eeOEFPvroI1xdXRk9ejSenp7s27ePnj17UqtWLR5++GGGDx/OI488Yn38F198wZAhQ4r0NYpI0TMZhmHYOggRkcL2/vvv8+233/LTTz8B6fv8LF68mB07dhToert376Zdu3YcOHAAPz+/QoxURIqblrqLiEN6+OGHuXjxInFxcYVyxMXJkyf59NNPlfiIOAAlPyLikJydnXnuuecK7XodOnQotGuJiG1p2EtERERKFU14FhERkVJFyY+IiIiUKkp+REREpFRR8iMiIiKlipIfERERKVWU/IiIiEipouRHREREShUlPyIiIlKqKPkRERGRUuX/AQexpJezRHG7AAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "(a, b), cov = np.polyfit(t_m, y_m, 1, cov=True)\n",
    "u_a = np.sqrt(cov[0, 0])  # donné car cov (covariance) est hors-programme.\n",
    "\n",
    "tau_fit   = -1/a\n",
    "u_tau_fit = u_a/a**2  # car tau = 1/a\n",
    "\n",
    "print(f\"pente a = {a:.4g} s^-1     ordonnée à l'origine b = {b:.3f}\")\n",
    "print(f\"tau_fit = {tau_fit*1e6:.1f} µs  ±  {u_tau_fit*1e6:.1f} µs\")\n",
    "\n",
    "plt.figure()\n",
    "plt.plot(t*1e6, y, '.', color='lightgrey', label=\"points écartés\")\n",
    "plt.plot(t_m*1e6, y_m, '.b', label=\"points conservés\")\n",
    "plt.plot(t_m*1e6, a*t_m + b, '-r', lw=2, label=\"meilleure droite\")\n",
    "plt.xlabel(\"t (µs)\")\n",
    "plt.ylabel(r\"$\\ln\\left(\\frac{u_\\infty - u_C}{u_\\infty - u_0}\\right)$\")\n",
    "plt.title(\"Étape 2 : 0 ≤ t ≤ 3τ\")\n",
    "plt.ylim(1.5*y_m.min(), 0.5)  # car ymin < 0\n",
    "plt.legend()\n",
    "plt.grid()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c026",
   "metadata": {},
   "source": [
    "➜ Répondre aux questions de l'**étape 2** sur le sujet.\n",
    "\n",
    "**Défi (facultatif)** : remplacer `3*tau_osc` par `5*tau_osc` dans le masque, puis réexécuter les deux cellules. Comment évolue $\\tau_\\text{fit}$ ? Pourquoi ? *Penser à revenir à `3*tau_osc` ensuite.*"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c027",
   "metadata": {},
   "source": [
    "## 6. Comparaison avec la courbe théorique  [À COMPLÉTER]\n",
    "\n",
    "Calculer la courbe théorique pour $t \\geqslant 0$, avec $\\tau_\\text{th}$ :\n",
    "$$u_\\text{th}(t) = u_\\infty + (u_0 - u_\\infty)\\,e^{-t/\\tau_\\text{th}}$$\n",
    "\n",
    "Puis tracer, sur un même graphique :\n",
    "- les mesures en points rouges (`'.r'`) ;\n",
    "- la courbe théorique en trait plein noir (`'-k'`)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "c028",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "t_th = np.linspace(0, t.max(), 200)\n",
    "u_th = uinf + (u0 - uinf)*np.exp(-t_th/tau_th)\n",
    "\n",
    "plt.figure()\n",
    "plt.plot(t, u, '.r', label=\"mesures\")\n",
    "plt.plot(t_th, u_th, '-k', label=\"modèle théorique (τ_th)\")\n",
    "plt.xlabel(\"t (µs)\")\n",
    "plt.ylabel(\"u_C (V)\")\n",
    "plt.legend()\n",
    "plt.grid()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c029",
   "metadata": {},
   "source": [
    "## 7. Écarts normalisés  [À COMPLÉTER]\n",
    "\n",
    "Compléter la fonction qui calcule\n",
    "$$z = \\frac{|x_1 - x_2|}{\\sqrt{u(x_1)^2 + u(x_2)^2}}$$\n",
    "\n",
    "`abs()` donne la valeur absolue."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "c030",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tau_osc / tau_th  : z = 0.35\n",
      "tau_fit / tau_th  : z = 3.70\n",
      "tau_fit / tau_osc : z = 13.31\n"
     ]
    }
   ],
   "source": [
    "def ecart_normalise(x1, u1, x2, u2):\n",
    "    return np.abs(x1 - x2) / np.sqrt(u1**2 + u2**2)\n",
    "\n",
    "print(f\"tau_osc / tau_th  : z = {ecart_normalise(tau_osc, u_tau_osc, tau_th, u_tau_th):.2f}\")\n",
    "print(f\"tau_fit / tau_th  : z = {ecart_normalise(tau_fit, u_tau_fit, tau_th, u_tau_th):.2f}\")\n",
    "print(f\"tau_fit / tau_osc : z = {ecart_normalise(tau_fit, u_tau_fit, tau_osc, u_tau_osc):.2f}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c031",
   "metadata": {},
   "source": [
    "➜ Compléter le tableau du sujet et conclure.\n",
    "\n",
    "Pour tester l'explication proposée dans le sujet, compléter et exécuter la cellule suivante.  **[À COMPLÉTER]**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "c032",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tau corrigé = 105.8 µs  ±  3.8 µs\n",
      "tau_fit / tau corrigé : z = 4.84\n"
     ]
    }
   ],
   "source": [
    "R_g = 50   # résistance de sortie du GBF (ohm), lue sur sa face avant\n",
    "\n",
    "tau_corr   = (R + R_g)*C\n",
    "u_tau_corr = tau_corr*np.sqrt((u_R/R)**2 + (u_C/C)**2)   # on néglige l'incertitude sur R_g\n",
    "\n",
    "print(f\"tau corrigé = {tau_corr*1e6:.1f} µs  ±  {u_tau_corr*1e6:.1f} µs\")\n",
    "print(f\"tau_fit / tau corrigé : z = {ecart_normalise(tau_fit, u_tau_fit, tau_corr, u_tau_corr):.2f}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c033",
   "metadata": {},
   "source": [
    "## 8. Pour aller plus loin : résolution numérique par la méthode d'Euler\n",
    "\n",
    "Le circuit obéit à l'équation différentielle\n",
    "$$\\frac{\\mathrm{d}u}{\\mathrm{d}t} + \\frac{u}{\\tau} = \\frac{E}{\\tau},$$\n",
    "où $E$ est la tension du GBF après le front (ici $E = u_\\infty$).\n",
    "\n",
    "Si $\\Delta t$ est petit, la dérivée s'approche par un taux de variation :\n",
    "$$\\frac{\\mathrm{d}u}{\\mathrm{d}t} \\simeq \\frac{u_{n+1} - u_n}{\\Delta t}\n",
    "\\quad\\Longrightarrow\\quad\n",
    "u_{n+1} = u_n + (E - u_n)\\,\\frac{\\Delta t}{\\tau}.$$\n",
    "\n",
    "1. Compléter l'algorithme. **[À COMPLÉTER]**\n",
    "2. Tracer les mesures, le modèle théorique et la solution d'Euler sur un même graphique.\n",
    "3. Que se passe-t-il si l'on prend `Deltat = tau_th/2` ? Puis `Deltat = 2*tau_th` ?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c034",
   "metadata": {},
   "outputs": [],
   "source": [
    "E      = uinf            # tension imposée par le GBF après le front\n",
    "Deltat = tau_th/100      # pas de temps\n",
    "\n",
    "t_euler = np.arange(0, t.max(), Deltat)\n",
    "u_euler = np.zeros_like(t_euler)\n",
    "u_euler[0] = ____        # condition initiale\n",
    "\n",
    "for n in range(len(t_euler) - 1):\n",
    "    u_euler[n+1] = ____\n",
    "\n",
    "plt.figure()\n",
    "plt.plot(t*1e6, u, '.r', label=\"mesures\")\n",
    "plt.plot(t_th*1e6, u_th, '-k', label=\"modèle théorique\")\n",
    "plt.plot(____, ____, '--b', label=\"Euler\")\n",
    "plt.xlabel(\"t (µs)\")\n",
    "plt.ylabel(\"u_C (V)\")\n",
    "plt.legend()\n",
    "plt.grid()\n",
    "plt.show()"
   ]
  }
 ],
 "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.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
