X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/cours-mesi.git/blobdiff_plain/f4fb6abd4d0ca7a866d0cba93347244e9797040a..52672f301b364d8a75708a2d5e35256af37965ff:/pbnum.tex

diff --git a/pbnum.tex b/pbnum.tex
index 58b3a0a..613c6a6 100644
--- a/pbnum.tex
+++ b/pbnum.tex
@@ -1,8 +1,7 @@
 Ce chapitre s'inspire de~\cite{jedrzejewski2005introduction} et 
 de~\cite{bastien2003introduction}. 
 On y pointe quelques erreurs classiques en calcul numÃ©rique.
-
-On peut classer les erreurs en plusieurs groupes:
+On peut classer ces erreurs en plusieurs groupes:
 \begin{itemize}
 \item les erreurs de calcul en machine: elles sont dues aux arrondis de 
   calcul pour les nombres flottants, par exemple.
@@ -39,7 +38,7 @@ permettant d'Ã©valuer la fonction factorielle.
 \lstset{language=Java}
 \begin{figure}
 \begin{scriptsize}
-\begin{minipage}{0.68\textwidth}
+\begin{minipage}{0.65\textwidth}
 \begin{lstlisting}
  class TestFactorielle{    
    public static int  factorielle(int n){
@@ -67,7 +66,8 @@ def factorielle(n):
     return r
 
 for j in range(36):
-    print j, factorielle(j)
+    print(str(j) + " " 
+          + str(factorielle(j)))
 \end{lstlisting}
 \end{minipage}
 \end{scriptsize}
@@ -75,7 +75,8 @@ for j in range(36):
 \end{figure}
 
 En Java, on a:
-\begin{eqnarray*}
+$$
+\begin{array}{rcr}
 5!&=& 120\\
 & \vdots&\\
 12! &= & 479001600 \\
@@ -87,8 +88,8 @@ En Java, on a:
  &\vdots&\\
 34! & = & 0 \\
 35! & = & 0 
-\end{eqnarray*}
-
+\end{array}
+$$
 On remarque que 
 \begin{itemize}
 \item le rÃ©sultat donnÃ© pour 13! est diffÃ©rent de 13 fois le rÃ©sultat de 12!
@@ -98,7 +99,8 @@ On remarque que
 \end{itemize}
 
 Par contre en Python 2.7 on a des rÃ©sultats cohÃ©rents:
-\begin{eqnarray*}
+$$
+\begin{array}{rcr}
 12! &= &479001600\\
 13! & =& 6227020800\\
 & \vdots & \\
@@ -106,7 +108,8 @@ Par contre en Python 2.7 on a des rÃ©sultats cohÃ©rents:
  & \vdots & \\
 34!&=& 295232799039604140847618609643520000000 \\
 35! & =&10333147966386144929666651337523200000000
-\end{eqnarray*}
+\end{array}
+$$
 
 Les deux langages travaillent pourtant avec des entiers et ne sont donc pas 
 exposÃ©s aux erreurs d'arrondis.
@@ -115,8 +118,8 @@ Expliquons l'erreur d'interprÃ©tation du langage java.
 Celui-ci code chaque entier avec 32 bits. 
 Le bit le plus Ã  gauche est celui de signe. Il reste donc 31 bits.
 Cela permet de couvrir tous les entiers de l'intervalle
-$\llbracket -2147483648, 2147483647, \rrbracket$. Le tableau donnÃ© Ã  la 
-figure~\ref{table:codage:entiers} donne la correspondance entre 
+$$\llbracket -2147483648, 2147483647 \rrbracket.$$ 
+Le tableau~\ref{table:codage:entiers} donne la correspondance entre 
 certains entiers et le version binaire. 
 
 
@@ -139,7 +142,7 @@ $$
 \end{array}
 $$
 \end{scriptsize}}
-\caption{Correspondance dÃ©cimaux-binaires}\label{table:codage:entiers}
+\caption{Correspondance entiers-binaires}\label{table:codage:entiers}
 \end{table}
 
 
@@ -211,9 +214,9 @@ numÃ©riquement de $b^2$.
 \item En pratique quelle va Ãªtre sa valeur si l'interprÃ©teur fait des 
   approximations. 
 \item Cette erreur d'arrondi est-elle effectuÃ©e dans le calcul de $x_1$?
-\item Montrer qu'on pourrait calculer la racine $x_2$ avec $x_2= \frac{c}{x_2}$.
-\item Cette nouvelle mÃ©thode permet-elle de trouver le signe de $x_2$, et 
-est-elle plus prÃ©cise?
+\item Montrer qu'on pourrait calculer la racine $x_2$ avec $x_2= \frac{c}{x_1}$.
+\item Cette nouvelle mÃ©thode permet-elle de trouver le signe de $x_2$?  
+Est-elle plus prÃ©cise?
 \end{enumerate}   
 \end{Exo}
 
@@ -227,9 +230,68 @@ aux questions prÃ©cÃ©dentes en effectuant les calculs en java.
 \section{Erreurs sur les donnÃ©es}
 
 Les donnÃ©es provenant de mesures physiques sont souvent entachÃ©es d'erreurs.
-Par exemple, un traceur GPS ne peut avoir une prÃ©cision infÃ©rieure Ã  8m 
+Par exemple, un traceur GPS ne peut avoir une prÃ©cision infÃ©rieure Ã  8m
+
+Ainsi, lorsqu'une mÃ©thode de calcul s'applique Ã  des donnÃ©es physiques, 
+on doit Ã©tudier l'influence des erreurs sur le rÃ©sultats numÃ©rique calculÃ©.
+Si une petite erreur sur les donnÃ©es provoque un changement radical de 
+la solution calculÃ©e, le problÃ¨me est dit \emph{mal conditionnÃ©}.
+
+
+On cherche par exemple Ã  rÃ©soudre le problÃ¨me Ã  deux Ã©quations 
+et deux inconnues suivant:
+$$
+\left\{
+  \begin{array}{llllll}
+    1,2969 x & + & 0,8648 y & = & 0,8642 & L_1\\
+    0,2161 x & + & 0,1441 y & = & 0,1440 & L_2.
+  \end{array}
+\right.
+$$
+Ce systÃ¨me est Ã©quivalent Ã  
+$$
+\left\{
+  \begin{array}{llllll}
+    1,2969 x & + & 0,8648  y & = & 0,8642 & L_1\\
+             & + & 10^{-8} y & = & -2 \times 10^{-8} & 1,2969.L_2-0,2161.L1 
+  \end{array}
+\right.
+$$
+qui a pour unique solution $\left(\begin{array}{r} 2 \\ -2
+  \end{array}
+  \right)$.
+Si on considÃ¨re maintenant le systÃ¨me lÃ©gÃ¨rement modifiÃ© suivant:
+$$
+\left\{
+  \begin{array}{llllll}
+    1,2969 x & + & 0,8648 y & = & 0,8642 & L_1\\
+    0,2161 x & + & 0,144 y & = & 0,1440 & L_2
+  \end{array}
+\right.
+$$
+Une valeur approchÃ©e Ã  $10^{-5}$ prÃ¨s de l'unique solution de ce systÃ¨me 
+serait $\left(\begin{array}{r} 0.66626 \\ 0.00015
+  \end{array}
+  \right)$. 
+
+On constate qu'une infime modification du systÃ¨me initial a eu de 
+grandes rÃ©percutions sur les solutions du systÃ¨me.
 
 
+  
+
+
+
+
+
+ 
+
+
+
+
+
+\begin{TP}
+
 \begin{Def}[conditionnement]
 Soit $A$ une matrice inversible. Le  \emph{conditionnement} de $A$, notÃ© 
 $\textit{cond}(A)$ est dÃ©fini par 
@@ -240,9 +302,6 @@ Une matrice $A$ est dite bien conditionnÃ©e si son conditionnement
 $\textit{cond}(A)$ est proche de 1.
 \end{Def}
 
-
-
-\begin{TP}
 On considÃ¨re les matrices 
 $$ A = \left( 
 \begin{array}{llll}
@@ -318,7 +377,7 @@ B' = \left(
 33,1 \\
 30,9 \\
 \end{array}
-\right)  
+\right).  
 $$ 
 \item Que peut-on en conclure?
 \end{enumerate}
