Une expérience donne des points de mesure. Pour en tirer quelque chose, on cherche la courbe qui les résume : une loi mathématique. Python sait la trouver à notre place - c'est tout l'objet de ce cours.
| Outil | Ce qu'il fait | Quand l'utiliser |
|---|---|---|
| np.polyfit | trouve les coefficients d'un polynôme (droite, parabole...) | tendance simple |
| np.poly1d | emballe ces coefficients en fonction modele() | évaluer, prédire |
| curve_fit | trouve les coefficients d'une forme qu'on écrit (exp, sinus...) | courbe non polynomiale |
| np.interp | estime entre deux points (segments droits) | combler un trou, vite |
| interp1d | courbe lisse passant par tous les points | combler en douceur |
Deux familles : ajuster (trouver la loi : polyfit, curve_fit) et interpoler (combler entre les mesures : np.interp, interp1d). On les voit une à une, puis on choisit.
polyfitnp.polyfit(temps, mesures, 1) cherche la droite de meilleur ajustement (degré 1) et renvoie ses coefficients : la pente et l'ordonnée à l'origine de y = pente·x + ordonnee. C'est Python qui trouve les coefficients à partir des données.
np.poly1d(coefficients) emballe les coefficients dans une vraie fonction : on lui donne un temps, elle renvoie la valeur du modèle. C'est l'outil clé : une fois le modèle trouvé, on l'évalue partout - même là où on n'a pas mesuré.
curve_fitPour une parabole, on monte le degré de polyfit. Pour une forme quelconque (exponentielle, sinus...), on écrit la fonction et curve_fit (de scipy) en trouve les coefficients. La règle : on choisit la forme, Python trouve les nombres.
L'interpolation estime une valeur entre deux mesures connues. np.interp relie les points par des segments droits ; scipy.interpolate trace une courbe lisse (splines) qui passe exactement par chaque point.
Une fois le modèle trouvé, prédire = l'évaluer au-delà des mesures. On donne des temps futurs, le modèle renvoie les valeurs attendues. C'est ainsi qu'on estime une trajectoire, une population, une température à venir.
Un modèle n'est fiable que là où il y a des données. Au-delà, il peut diverger totalement - surtout un polynôme de degré élevé qui explose. Extrapoler loin, c'est deviner.
Règle d'or : prédire un peu au-delà, oui ; très loin, prudence.
| Interpolation | Régression (ajustement) | |
|---|---|---|
| Les points | passe exactement par tous | lisse la tendance, ignore le bruit |
| Le bruit | le suit (même les erreurs) | le gomme |
| Sert à | combler un trou interne | comprendre la loi, prédire |
| Outil | np.interp, interp1d | np.polyfit, curve_fit |
Maintenant qu'on a les outils : l'interpolation fait confiance à chaque point (idéale entre des mesures fiables) ; la régression cherche la tendance générale malgré le bruit (idéale pour prédire).
La tension est proportionnelle au courant : une droite qui part de zéro. La pente est la résistance du composant. Même forme : allongement d'un ressort (Hooke), dilatation d'un métal.
La distance de freinage croît comme le carré de la vitesse : doubler la vitesse quadruple la distance d'arrêt. Même forme : trajectoire d'un projectile, chute libre.
Le métabolisme d'un animal croît comme sa masse à la puissance 3/4 - de la souris à la baleine. Même forme : Kepler (T²∝a³), masse-rayon des planètes, surface vs volume.
Tous les 5730 ans, la moitié du carbone 14 d'un fossile disparaît : on date l'os par la fraction restante. Même forme : refroidissement, médicament éliminé, intérêts composés (croissance).
La concentration monte vite puis plafonne à l'équilibre dose/élimination : le palier sert à doser sans surdose. Même forme : charge d'un condensateur, remplissage d'un réservoir.
Le niveau de la mer oscille autour d'une moyenne ; l'ajustement retrouve la période (~12 h) et l'amplitude. Même forme : son, courant alternatif, températures saisonnières, rythmes biologiques.
Une loi y = a·x^b devient une droite quand on prend le logarithme des deux axes : sa pente est l'exposant. C'est ainsi qu'on lit Kepler ou la relation masse-rayon d'un seul coup d'œil.
| Sujet | Données à récolter | Relation | Outil |
|---|---|---|---|
| Exoplanètes | rayon, masse | loi de puissance masse-rayon | curve_fit |
| Exoplanètes | période, distance à l'étoile | Kepler T² ∝ a³ | curve_fit |
| Lunes de Jupiter | distance, période | Kepler (exposant ≈ 1.5) | curve_fit |
| Trous noirs | masse, rayon de Schwarzschild | droite exacte R = 2.95·M | polyfit deg 1 |
| Galaxies | distance, vitesse de fuite | loi de Hubble v = H₀·d | polyfit deg 1 |
Toutes ces données existent en CSV public (NASA Exoplanet Archive, tables d'astronomie). Le geste est toujours le même : un nuage, une forme, un ajustement, une prédiction.
En 1929, Hubble trace vitesse de fuite vs distance des galaxies : une droite. Sa pente, la constante de Hubble H₀, dit que l'Univers est en expansion - et son inverse 1/H₀ donne son âge. Une simple polyfit degré 1 sur de vraies mesures.
polyfit / curve_fit trouvent les coefficientsmodele(temps))Des données brutes à une loi qui prédit : c'est le cœur du calcul scientifique. Les fonctions plus puissantes (équations différentielles, Fourier, optimisation...) t'attendent dans l'En savoir plus.
polyfit, puis prédis une valeur future