{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "#!/usr/bin/env python3\n",
    "# -*- coding: utf-8 -*-"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 2C16 Exercice 49 page 325 : CONFIRME\n",
    "# Programme permettant de représenter et de modéliser la caractéristique U=f(I) d'un dipole"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Question a : Compléter les deux cellules suivantes selon les consignes puis les exécuter."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np                        \n",
    "from matplotlib import pyplot as plt      \n",
    "\n",
    "# Définition de 2 listes pour les 2 variables I et U\n",
    "I=[.......................................] # I (en mA)\n",
    "U=[.......................................] # U (en V)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Affichage du nuage de points expérimentaux de coordonnées (I,U): U=f(I)                 \n",
    "...................              # Titre du graphe\n",
    "...................              # Légende axe I\n",
    "...................              # Légende axe U\n",
    "...................              # Minimum et maximum des axes\n",
    "\n",
    "...................              # Trace le nuage de points\n",
    "\n",
    "............                     # Affiche une grille\n",
    "............                     # Affiche la légende\n",
    "............                     # Affiche la figure"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Question b : Compléter les trois cellules suivantes selon les consignes puis les exécuter."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Modélisation du nuage de points par la fonction np.polyfit()\n",
    "# Calcule les coefficients de la fonction modélisant le nuage de points et les range dans un tableau nommé Modele\n",
    "...... = np.polyfit(... , ... , ...)\n",
    "......... = [coef for coef in ......] # Affecte les coefficients du modèle aux variables a,b,c...(à choisir)  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Choix du modéle linéaire et affichage de la modélisation de la caractéristique \n",
    "\n",
    "U_mod = [..........  for i in I] # Liste des ordonnées de la modélisation\n",
    "\n",
    "...................              # Titre du graphe\n",
    "...................              # Légende axe I\n",
    "...................              # Légende axe U\n",
    "...................              # Minimum et maximum des axes\n",
    "\n",
    "...................              #Trace le nuage de points\n",
    "plt.plot(... , ... , ... ,label='U=f(I) modélisé')# Trace les points de coordonnées I et U_mod en bleu et reliés\n",
    "\n",
    "............                     # Affiche une grille\n",
    "............                     # Affiche la légende\n",
    "............                     # Affiche la figure"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "print('Expression du modèle') \n",
    "print('U(...) = ...........')   # Affiche l’équation du modèle en précisant les unités"
   ]
  }
 ],
 "metadata": {
  "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.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
