Warning: Undefined array key "lang" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
94
Warning: Undefined array key "id" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
117
Warning: Undefined array key "width" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
119
Warning: Undefined array key "dir" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
128
Warning: Undefined array key "lang" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
94
Warning: Undefined array key "id" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
117
Warning: Undefined array key "width" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
119
Warning: Undefined array key "dir" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
128
Warning: Undefined array key "lang" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
94
Warning: Undefined array key "id" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
117
Warning: Undefined array key "width" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
119
Warning: Undefined array key "dir" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
128
Warning: Undefined array key "lang" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
94
Warning: Undefined array key "id" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
117
Warning: Undefined array key "width" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
119
Warning: Undefined array key "dir" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
128
Warning: Undefined array key "lang" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
94
Warning: Undefined array key "id" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
117
Warning: Undefined array key "width" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
119
Warning: Undefined array key "dir" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
128
Warning: Undefined array key "lang" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
94
Warning: Undefined array key "id" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
117
Warning: Undefined array key "width" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
119
Warning: Undefined array key "dir" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
128
Warning: Undefined array key "lang" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
94
Warning: Undefined array key "id" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
117
Warning: Undefined array key "width" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
119
Warning: Undefined array key "dir" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
128
Warning: Undefined array key "lang" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
94
Warning: Undefined array key "id" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
117
Warning: Undefined array key "width" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
119
Warning: Undefined array key "dir" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
128
Warning: Undefined array key "lang" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
94
Warning: Undefined array key "id" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
117
Warning: Undefined array key "width" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
119
Warning: Undefined array key "dir" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
128
Warning: Undefined array key "lang" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
94
Warning: Undefined array key "id" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
117
Warning: Undefined array key "width" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
119
Warning: Undefined array key "dir" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
128
Warning: Undefined array key "lang" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
94
Warning: Undefined array key "id" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
117
Warning: Undefined array key "width" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
119
Warning: Undefined array key "dir" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
128
Warning: Undefined array key "lang" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
94
Warning: Undefined array key "class" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
114
Warning: Undefined array key "id" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
117
Warning: Undefined array key "width" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
119
Warning: Undefined array key "dir" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
128
Warning: Undefined array key "lang" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
94
Warning: Undefined array key "id" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
117
Warning: Undefined array key "width" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
119
Warning: Undefined array key "dir" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
128
Warning: Undefined array key "lang" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
94
Warning: Undefined array key "id" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
117
Warning: Undefined array key "width" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
119
Warning: Undefined array key "dir" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
128
Warning: Undefined array key "lang" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
94
Warning: Undefined array key "id" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
117
Warning: Undefined array key "width" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
119
Warning: Undefined array key "dir" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
128
Warning: Undefined array key "lang" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
94
Warning: Undefined array key "id" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
117
Warning: Undefined array key "width" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
119
Warning: Undefined array key "dir" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
128
Warning: Undefined array key "lang" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
94
Warning: Undefined array key "id" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
117
Warning: Undefined array key "width" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
119
Warning: Undefined array key "dir" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
128
Warning: Undefined array key "lang" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
94
Warning: Undefined array key "id" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
117
Warning: Undefined array key "width" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
119
Warning: Undefined array key "dir" in
/home/signac/doku/lib/plugins/wrap/helper.php on line
128
Ajustements, régressions
- Introduction
Nous proposons ici d'utiliser les outils d'ajustement analytique inclus dans les outils bureautique pour réaliser des régressions linéaires ou des approximations polynomiales.
- Régression linéaire : Loi des gaz parfaits
La loi des gaz parfaits relie le volume, la température et la pression avec la quantité de gaz. Elle est souvent énoncée ainsi :
$$PV=nRT$$
où :
$P$ est la pression en Pascals
$V$ est le volume en mètres-cubes
$n$ est le nombre de moles
$R$ est la constante des gaz parfaits : $8,314472\,J.K^{-1}.mol^{-1}$
$T$ est la température en Kelvins
Un relevé de température et de volume, dans des conditions connues de pression, permet donc de calculer le nombre de moles de gaz ($n=PV(RT)^{-1}$).
Les mesures étant entachées d'erreur, un calcul direct comme le calcul précédent n'est pas toujours satisfaisant.
Nous allons voir dans la suite, à partir de plusieurs mesures de température et volume, comment réaliser une régressions linéaire avec Calc afin :
de vérifier que le gaz en question suit effectivement la loi des gaz parfaits
de calculer assez précisément la valeur de $n$
d'avoir un intervalle de confiance des valeurs calculées
- Première approximation
Un premier relevé indique que pour une température de 25°C, sous une pression de $10^5\,Pa$, le gaz occupe 26 L.
En utilisant la loi des gaz parfaits, calculez le nombre de moles de gaz.
Les relevés ont été effectués à la pression de $10^5\,Pa$, en litre et en °C :
t en °C | 25 | 30 | 35 | 40 | 45 | 50 | 55 | 60 | 65 | 70 | 75 |
V en L | 26 | 27.2 | 27.9 | 28 | 28.5 | 29 | 29.5 | 30 | 30 | 31 | 31 |
Dans une feuille de calcul, insérez les données précédentes. Ajoutez les formules nécessaires au calcul automatique de le température en Kelvins et du volume en mètres-cubes. Soignez la présentation :
bordures de tableau
en-têtes en gras
un seul chiffre après la virgule pour les 3 premières lignes et 4 chiffres après la virgule pour la quatrième
une couleur de fond différentes pour les données issues de mesures (l'utilisateur sait ainsi que les données doivent être entrées sur les cases de fond orange uniquement)
- Tracé du graphique
La régression linéaire est effectuée automatiquement à partir d'un graphique. La première étape est donc le tracé du graphique représentant la température en Kelvin en fonction du volume en mètres-cubes.
Insérez le graphique (type de graphique : points), et ajustez le titre du graphique et les étiquettes des axes. Essayez d'obtenir exactement le graphique ci-dessous :
- Affichage de la courbe de tendance
Calc propose plusieurs types de régressions : Linéaire, logarithmique, exponentielle… Cet outil est accessible via le menu contextuel de la courbe. Il permet d'afficher, outre la courbe de tendance, son équation, et le coefficient de détermination.
Sélectionnez la courbe, faites afficher le menu contextuel, et sélectionnez : Insérer une courbe de tendance.
Choisissez une régression linéaire, et affichez l'équation et la valeur de $R^2$ :
- Calcul du nombre de moles
Déduisez le nombre de moles de gaz de l'équation de la courbe de régression.
Comparez ce résultat avec celui obtenu en tout début de l'exercice. Qu'en pensez-vous ?
La courbe de tendance devrait passer par l'origine du repère, ce qui n'est pas exactement le cas (ce n'est qu'une courbe de tendance, et le gaz ne se comporte pas comme un gaz parfait dans toutes les conditions)1). Il peut être utile de visualiser la courbe de tendance sur une plus longue plage, de manière à estimer visuellement le passage proche de l'origine.
Faites une copie du graphique, puis modifiez les échelles (la boîte de dialogue à utiliser peut être affichée en double-cliquant sur les valeurs des axes) de manière à obtenir une courbe comme celle-ci, permettant de visualiser l'erreur à l'origine :
- Coefficient de détermination
Reportez dans la feuille de calcul les valeurs estimées par Calc pour le coefficient directeur et l'ordonnée à l'origine de la droite (avec tous leurs chiffres).
Ajoutez une ligne dans le tableau initial, permettant de calculer, pour les mêmes abscisses que les points de mesure, les points de la droite (notés $f_i$ un peu plus bas).
Ajoutez les lignes nécessaires au calcul du coefficient de détermination. Ce coefficient vaut :
$$R^2=1-\frac{Serr}{Stot}$$
Avec :
Vérifiez votre calcul en contrôlant que le coefficient de détermination obtenu est très exactement celui annoncé par Calc sur votre courbe. Votre calcul du coefficient de détermination doit apparaître dans votre feuille de calcul.
À présent, copiez votre feuille complète dans une nouvelle feuille de calcul. Puis entrez les données suivantes sur la copie de la feuille :
t en °C | 25 | 30 | 35 | 40 | 45 | 50 | 55 | 60 | 65 | 70 | 75 |
V en L | 26 | 29 | 28 | 28 | 26 | 29 | 30 | 28 | 30 | 29 | 31 |
Quelle valeur trouvez-vous à présent pour le coefficient de détermination ?
- Prévisions
Utilisez la régression linéaire pour prévoir le volume de gaz à la température de 120°C.
- Approximation polynomiale
Nous allons voir ici comment trouver l'approximation d'un jeu de données par un polynôme de degré 2.
Les valeurs mesurées seront notées $y_i$ et $x_i$. Le modèle recherché sera de la forme $y=ax^2+bx+c$. Nous cherchons donc les valeurs de $a$, $b$ et $c$ de manière à ce que le polynôme de degré 2 approche au mieux le jeu de données.
L'erreur quadratique commise est :
$$S=\sum_{i=0}^{i=n} (ax_i^2+bx_i+c-y_i)^2$$
L'erreur sera minimum si la dérivée de $S$ par rapport à $a$, $b$ et $c$ est nulle. On obtient ainsi 3 expressions (voici la première) :
$$\frac{\partial S}{\partial a}=2\sum_{i=0}^{i=n}(ax_i^2+bx_i+c-y_i)x_i^2=0$$
En réordonnant correctement les 3 équations obtenues, on peut écrire le système matriciel suivant (l'équation précédente correspond par exemple à la ligne 1 du système suivant) :
$$\begin{pmatrix}
\sum x_i^4 & \sum x_i^3 & \sum x_i^2 \\
\sum x_i^3 & \sum x_i^2 & \sum x_i^1 \\
\sum x_i^2 & \sum x_i^1 & \sum x_i^0 \\
\end{pmatrix}
\times
\begin{pmatrix}
a\\b\\c
\end{pmatrix}
=
\begin{pmatrix}
\sum y_ix_i^2
\sum y_ix_i^1
\sum y_ix_i^0
\end{pmatrix}
$$
Les coefficients du polynôme recherché sont donc ceux du vecteur :
$$\begin{pmatrix}
\sum x_i^4 & \sum x_i^3 & \sum x_i^2 \\
\sum x_i^3 & \sum x_i^2 & \sum x_i^1 \\
\sum x_i^2 & \sum x_i^1 & \sum x_i^0 \\
\end{pmatrix}^{-1}
\times
\begin{pmatrix}
\sum y_ix_i^2
\sum y_ix_i^1
\sum y_ix_i^0
\end{pmatrix}
$$
Saisie du jeu de données
Le jeu de données utilisé sera :
x | 5 | 6 | 7 | 9 | 9,5 | 11 | 15 |
y | 35 | 65 | 75 | 125 | 155 | 210 | 400 |
Saisissez ces données dans la plage C2:I3
Construction des matrices
Nous allons maintenant calculer les $x_i^4$ puis leur somme.
Cellule B8, saisissez l'exposant : 4. Puis, trouvez les formules à indiquer dans la plage C8:I8 (par simple copié collé de C8), de manière à ce que cette plage contienne les $x_i^4$.
Puis, cellules B9 à B12, entrez les coefficients 3, 2, 1 et 0. Par simple copié/collé de la plage C8:I8, sur les lignes en dessous, vous devez obtenir les $x_i^3$, les $x_i^2$…
Enfin calculez les sommes plage J8:J12
Dans la plage D16:F18, faites références aux sommes trouvées en J8:J12 pour construire la matrice :
$$\begin{pmatrix}
\sum x_i^4 & \sum x_i^3 & \sum x_i^2 \\
\sum x_i^3 & \sum x_i^2 & \sum x_i^1 \\
\sum x_i^2 & \sum x_i^1 & \sum x_i^0 \\
\end{pmatrix}$$
Résolution du système
Plage D21:F23, inversez cette matrice (fonction INVERSEMAT).
Plage G21:G23, calculez le vecteur :
$$\begin{pmatrix}
\sum y_ix_i^2
\sum y_ix_i^1
\sum y_ix_i^0
\end{pmatrix}
$$
Vous aurez sans doute besoin de la fonction SOMMEPROD.
La fonction PRODUITMAT vous permet de résoudre le système et de calculer les 3 coefficients du polynôme.
Graphique
Utilisez les coefficients obtenus pour indiquer dans la plage C4:I4 les valeurs **calculées** par le modèle.
Réalisez un graphique indiquant les points du modèle, sous forme de courbe et les points de mesure.