ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/document/GMC1035/equadiff.tex
Revision: 948
Committed: Wed Aug 8 13:46:37 2018 UTC (7 years ago) by francois
Content type: application/x-tex
File size: 37169 byte(s)
Log Message:
mise a jour note de cours GMC1035

File Contents

# Content
1 \begin{encadre}{Objectif du chapitre}
2 Plusieurs problèmes d'ingénierie mélangent dans la modélisation des inconnues qui sont des dérivées les unes des autres. (Cas de la position, vitesse et accélération). Dans ces cas, nous avons des équations avec comme inconnue une variable, sa dérivée première, deuxième..... .
3 Ce sont des équations différentielles. Au niveau théorique, seuls quelques rares cas sont solvables. Ce chapitre montre des manières de résoudre toute les équations différentielles de manière numérique.
4 \end{encadre}
5 \\[1cm]
6 \begin{encadre}{Connaissances antérieures nécessaires}
7 \begin{itemize}
8 \item les mathématiques : équations différentielles du premier ordre et d'ordre supérieur. Système d'équations différentielles. Conditions aux limites. Conditions aux frontières.
9 \item programmation de base en Basic ou C : les types, les opérations élémentaires et la structuration de programme en mode console
10 \end{itemize}
11
12 \end{encadre}
13
14
15
16
17 \section{Mise en situation}
18 Le problème du pendule est le problème de base pour illustrer les équations différentielles.
19 Soit une masse $m$ suspendue à une corde de longueur $l$. Au temps $t=0$, la corde a une position qui fait un angle $\theta (0)=\theta_0$ avec la verticale.
20 Les forces en présence sont le poids de la masse $m$ et la force de friction $F_f$ qui s'oppose au mouvement.
21 \begin{figure}[h]
22
23 \begin{center}
24 \includegraphics[width=4cm,bb=0 0 143 257]{./pendule.jpg}
25 % pendule.jpg: 190x342 pixel, 96dpi, 5.03x9.05 cm, bb=0 0 143 257
26 \end{center}
27 \caption{Problème du pendule}
28 \end{figure}
29 \\En faisant l'équilibre selon la direction tangentielle, il vient que
30 \begin{eqnarray*}
31 \overrightarrow{F}=m\overrightarrow{\gamma}\\
32 -P\sin \theta -F_fl\theta'=ml\theta''\\
33 \theta''=\frac{-g\sin \theta}{l} +\frac{-F_f\theta'}{m}\\
34 \end{eqnarray*}
35 On a dans ce cas une équation différentielle d'ordre 2 avec conditions initiales connues :
36 \begin{eqnarray*}
37 \left \{
38 \begin{array}{l}
39 \theta''=\frac{-g\sin \theta}{l} +\frac{-F_f\theta'}{m}\\
40 \theta(0)=\theta_0\\
41 \theta'(0)=\theta_0'\\
42 \end{array}
43 \right.
44 \end{eqnarray*}
45 L'objectif de ce chapitre est de résoudre de telle équation de manière numérique. Nous commençons par les équations différentielles d'ordre 1 pour généraliser ensuite.
46 \section{Résolution d'équation différentielle d'ordre 1}
47 \subsection{Méthode d'Euler explicite}
48 \subsubsection{La méthode}
49 D'une manière générale, le problème s'écrit
50 \begin{eqnarray*}
51 \left \{
52 \begin{array}{l}
53 y'(x)=f\left(x,y(x)\right)\\
54 y(0)=y_0\\
55 \end{array}
56 \right.
57 \end{eqnarray*}
58
59 L'idée est de partir de la condition initiale est de trouver une solution proche d'un pas $h$.
60 \\Tout au long de ce chapitre, on note $y_t$ la valeur numérique et $y(t)$ la valeur réelle de la solution.
61 \\Au départ on $y_0=y(0)$.
62 \\ En constatant que la pente de la courbe en $0$ est $y'(0)=\frac{y_1-y_0}{x_1-x_0}$ il vient que
63 \begin{eqnarray*}
64 y_1-y_0&=&y'(0)(x_1-x_0)\\
65 y_1&=&y_0+hy'(0)\\
66 y_1&=&y_0+hf\left(0,y(0)\right)\\
67 y_1&=&y_0+hf(0,y_0)\\
68 \end{eqnarray*}
69 $y_1$ est une solution approchée de $y(x_1)$.
70 On continue ensuite selon le schéma
71 \begin{eqnarray*}
72 y_n&=&y_{n-1}+hf(x_{n-1},y_{n-1})\\
73 \end{eqnarray*}
74 $y_n$ est une solution approchée de $y(x_n)$.
75
76 \subsubsection{Exemple}
77 Soit l'équation différentielle d'ordre 1 suivante
78
79 \begin{eqnarray*}
80 \left \{
81 \begin{array}{l}
82 y'(x)=-y(x)+x+1\\
83 y(0)=1\\
84 \end{array}
85 \right.
86 \end{eqnarray*}
87 La solution exacte est $y(x)=e^{-x}+x$
88 \\La solution numérique est calculée avec $h=0.1$ :\\
89 \footnotesize
90 \begin{tabular}{|r|r|r|r|}
91 \hline
92 $x_i$ & $y_i=y_{i-1}+hf(x_{i-1},y_{i-1})$ &$e^{-x}+x$ & $\frac{y_i-y(x_i)}{y(x_i)}$ \\
93 \hline
94 $0$&$ 1$&$ 1$&$ 0$\\ \hdashline
95 $0,1$&$ 1$&$ 1,004837418$&$ 0,0048141301$ \\
96 $0,2$&$ 1,01$&$ 1,0187307531$&$ 0,0085702263$ \\
97 $0,3$&$ 1,029$&$ 1,0408182207$&$ 0,0113547404$ \\
98 $0,4$&$ 1,0561$&$ 1,070320046$&$ 0,0132857888$ \\
99 $0,5$&$ 1,09049$&$ 1,1065306597$&$ 0,0144963536$ \\
100 $0,6$&$ 1,131441$&$ 1,1488116361$&$ 0,0151205259$ \\
101 $0,7$&$ 1,1782969$&$ 1,1965853038$&$ 0,0152838279$ \\
102 $0,8$&$ 1,23046721$&$ 1,2493289641$&$ 0,0150975081$ \\
103 $0,9$&$ 1,287420489$&$ 1,3065696597$&$ 0,0146560657$ \\
104 $1$&$ 1,3486784401$&$ 1,3678794412$&$ 0,0140370566$ \\
105 $1,1$&$ 1,4138105961$&$ 1,4328710837$&$ 0,0133023046$ \\
106 $1,2$&$ 1,4824295365$&$ 1,5011942119$&$ 0,012499832$ \\
107 $1,3$&$ 1,5541865828$&$ 1,572531793$&$ 0,0116660345$ \\
108 $1,4$&$ 1,6287679245$&$ 1,6465969639$&$ 0,0108278102$ \\
109 $1,5$&$ 1,7058911321$&$ 1,7231301601$&$ 0,010004484$ \\
110 $1,6$&$ 1,7853020189$&$ 1,801896518$&$ 0,0092094629$ \\
111 $1,7$&$ 1,866771817$&$ 1,8826835241$&$ 0,0084516101$ \\
112 $1,8$&$ 1,9500946353$&$ 1,9652988882$&$ 0,0077363565$ \\
113 $1,9$&$ 2,0350851718$&$ 2,0495686192$&$ 0,0070665833$ \\
114 $2$&$ 2,1215766546$&$ 2,1353352832$&$ 0,0064433107$ \\
115 $2,1$&$ 2,2094189891$&$ 2,2224564283$&$ 0,0058662293$ \\
116 $2,2$&$ 2,2984770902$&$ 2,3108031584$&$ 0,0053341056$ \\
117 $2,3$&$ 2,3886293812$&$ 2,4002588437$&$ 0,0048450868$ \\
118 $2,4$&$ 2,4797664431$&$ 2,4907179533$&$ 0,0043969291$ \\
119 $2,5$&$ 2,5717897988$&$ 2,5820849986$&$ 0,0039871654$ \\
120 $2,6$&$ 2,6646108189$&$ 2,6742735782$&$ 0,0036132277$ \\
121 $2,7$&$ 2,758149737$&$ 2,7672055127$&$ 0,0032725346$ \\
122 $2,8$&$ 2,8523347633$&$ 2,8608100626$&$ 0,0029625523$ \\
123 $2,9$&$ 2,947101287$&$ 2,9550232201$&$ 0,0026808362$ \\
124 $3 $&$ 3,0423911583$&$ 3,0497870684$&$ 0,0024250579$ \\
125
126 \hline
127 \end{tabular}
128 \normalsize
129 \begin{center}
130 \includegraphics[width=10cm,bb=0 0 611 400]{./eulerexplicite.jpg}
131 % eulerexplicite.jpg: 815x533 pixel, 96dpi, 21.56x14.10 cm, bb=0 0 611 400
132 \end{center}
133
134 \subsubsection{Erreur de la méthode}
135 Dans les résultats précédents nous avons montré l'erreur sur la valeur de $y_i$. Dans ce cas cette erreur est cumulée puisque $y_i$ est réutilisée dans les pas suivants.
136 \\Nous allons chercher à trouver l'erreur d'un pas de manière indépendante des pas précédents.
137 Pour cela nous allons utiliser le développement en série de Taylor de $y(x_{n+1})$ :
138 \begin{eqnarray*}
139 y(x_{n+1})=y(x_n+h)&=&y(x_n)+y'(x_n)h+\frac{y''(x_n)}{2!}h^2+O(h^3)\\
140 &=&y(x_n)+f(x_n,y(x_n))h+\frac{y''(x_n)}{2}h^2+O(h^3)\\
141 \frac{y(x_{n+1})-y(x_n)}{h}-f(x_n,y(x_n))&=&\frac{y''(x_n)}{2}h+O(h^2)\\
142 \end{eqnarray*}
143 On appelle l'erreur de troncature d'un pas de la méthode d'Euler explicite $\tau_{n+1}(h)$.
144 \begin{eqnarray*}
145 \tau_{n+1}(h)=\frac{y(x_{n+1})-y(x_n)}{h}-f(x_n,y(x_n))&=&\frac{y''(x_n)}{2}h+O(h^2)\\
146 \end{eqnarray*}
147 On constate que le méthode a une convergence d'ordre 1.
148 \subsection{Méthode de Taylor}
149 \subsubsection{La méthode}
150 La méthode de Taylor est la généralisation de la méthode d'Euler explicite pour tenter d'obtenir une méthode d'ordre de convergence plus élevée.
151 \\On part du développement de Taylor
152 \begin{eqnarray*}
153 y(x_{n+1})=y(x_n+h)&=&y(x_n)+y'(x_n)h+\frac{y''(x_n)}{2!}h^2+O(h^3)\\
154 \end{eqnarray*}
155 En injectant l'équation différentielle et en écrivant que
156 \begin{eqnarray*}
157 f'(x_n,y(x_n))&=&\frac{\partial f}{\partial x}+\frac{\partial f}{\partial y}\frac{\partial y}{\partial x}=\frac{\partial f}{\partial x}+\frac{\partial f}{\partial y}y'\\
158 &=&\frac{\partial f}{\partial x}+\frac{\partial f}{\partial y}f\\
159 \end{eqnarray*}
160 On a
161 \begin{eqnarray*}
162 y(x_{n+1})&=&y(x_n)+f(x_n,y(x_n))h+\frac{h^2}{2}f'(x_n,(y(x_n))+O(h^3)\\
163 &=&y(x_n)+f(x_n,y(x_n))h+\frac{h^2}{2}\left(\frac{\partial f(x_n,y(x_n))}{\partial x}+\frac{\partial f(x_n,y(x_n))}{\partial y}f(x_n,y(x_n))\right)+O(h^3)\\
164 \end{eqnarray*}
165 On en déduit que
166 \begin{eqnarray*}
167 y_{n+1}&=&y_n+hf(x_n,y_n)+\frac{h^2}{2}\left(\frac{\partial f(x_n,y_n)}{\partial x}+\frac{\partial f(x_n,y_n)}{\partial y}f(x_n,y_n)\right)+O(h^3)\\
168 \tau_{n+1}(h)&=&\frac{y_{n+1}-y_n}{h}-f(x_n,y(x_n))-\frac{h}{2}\left(\frac{\partial f(x_n,y(x_n))}{\partial x}+\frac{\partial f(x_n,y(x_n))}{\partial y}f(x_n,y(x_n))\right)=O(h^2)
169 \end{eqnarray*}
170 L'ordre de convergence de la méthode est 2 mais la méthode nécessite le calcul des dérivée de $f$.
171 \subsubsection{Exemple}
172 On reprend le même exemple que lors de la méthode d'Euler explicite et on trouve \\
173 \footnotesize
174 \begin{tabular}{|r|r|r|r|}
175 \hline
176 $x_i$ & $y_i=y_{i-1}+hf(x_{i-1},y_{i-1})$ &$e^{-x}+x$ & $\frac{y_i-y(x_i)}{y(x_i)}$ \\
177 & $+\frac{h^2}{2}\left(\frac{\partial f(x_{i-1},y_{i-1})}{\partial x}+\frac{\partial f(x_{i-1},y_{i-1})}{\partial y}f(x_{i-1},y_{i-1})\right)$ & & \\
178 \hline
179
180
181 $0$&$ 1$&$ 1$&$ 0$\\ \hdashline
182 $0,1$&$ 1,005$&$ 1,004837418$&$ 0,0001617993$\\
183 $0,2$&$ 1,019025$&$1,018730753 $&$ 0,0002888368$\\
184 $0,3$&$ 1,041217625$&$1,040818221 $&$ 0,0003837407$\\
185 $0,4$&$ 1,0708019506$&$1,070320046 $&$ 0,0004502434$\\
186 $0,5$&$ 1,1070757653$&$1,10653066 $&$ 0,0004926258$\\
187 $0,6$&$ 1,1494035676$&$1,148811636 $&$ 0,0005152555$\\
188 $0,7$&$ 1,1972102287$&$1,196585304 $&$ 0,0005222569$\\
189 $0,8$&$ 1,249975257$&$1,249328964 $&$ 0,000517312$\\
190 $0,9$&$ 1,3072276076$&$1,30656966 $&$ 0,0005035689$\\
191 $1$&$ 1,3685409848$&$1,367879441 $&$ 0,0004836272$\\
192 $1,1$&$ 1,4335295913$&$1,432871084 $&$ 0,0004595721$\\
193 $1,2$&$ 1,5018442801$&$1,501194212 $&$ 0,000433034$\\
194 $1,3$&$ 1,5731690735$&$1,572531793 $&$ 0,0004052576$\\
195 $1,4$&$ 1,6472180115$&$1,646596964 $&$ 0,0003771704$\\
196 $1,5$&$ 1,7237323004$&$1,72313016 $&$ 0,0003494456$\\
197 $1,6$&$ 1,8024777319$&$1,801896518 $&$ 0,0003225567$\\
198 $1,7$&$ 1,8832423473$&$1,882683524$&$ 0,0002968227$\\
199 $1,8$&$ 1,9658343244$&$1,965298888 $&$ 0,0002724451$\\
200 $1,9$&$ 2,0500800635$&$2,049568619 $&$ 0,0002495375$\\
201 $2$&$ 2,1358224575$&$2,135335283 $&$ 0,0002281488$\\
202 $2,1$&$ 2,222919324$&$2,222456428 $&$ 0,0002082812$\\
203 $2,2$&$ 2,3112419883$&$2,310803158 $&$ 0,0001899036$\\
204 $2,3$&$ 2,4006739994$&$ 2,400258844$&$ 0,0001729629$\\
205 $2,4$&$ 2,4911099694$&$2,490717953 $&$ 0,0001573908$\\
206 $2,5$&$ 2,5824545223$&$2,582084999 $&$ 0,0001431106$\\
207 $2,6$&$ 2,6746213427$&$2,674273578 $&$ 0,0001300407$\\
208 $2,7$&$ 2,7675323152$&$2,767205513 $&$ 0,0001180984$\\
209 $2,8$&$ 2,8611167452$&$2,860810063 $&$ 0,0001072013$\\
210 $2,9$&$ 2,9553106544$&$2,95502322 $&$ 9,72697479658594E-005$\\
211 $3$&$ 3,0500561423$&$ 3,0497870684$&$ 8,82271045273683E-005$\\
212
213 \hline
214 \end{tabular}
215 \normalsize
216
217 \begin{center}
218 \includegraphics[width=10cm,bb=0 0 614 399]{./taylor.jpg}
219 % taylor.jpg: 818x532 pixel, 96dpi, 21.64x14.08 cm, bb=0 0 614 399
220 \end{center}
221
222 \subsection{Méthodes de Runge-Kutta}
223 \subsubsection{Méthode de Runge-Kutta d'ordre 2 : RK2}
224 L'idée est de retrouver la méthode de Taylor en s'affranchissant du calcul des dérivée de $f$.
225 La méthode de Taylor est basé sur le développement de Taylor.
226 \begin{eqnarray*}
227 y(x_{n+1})&=&y(x_n)+f(x_n,y(x_n))h+\frac{h^2}{2}\left(\frac{\partial f(x_n,y(x_n))}{\partial x}+\frac{\partial f(x_n,y(x_n))}{\partial y}f(x_n,y(x_n))\right)+O(h^3)\\
228 \end{eqnarray*}
229 Pour éviter d'avoir des dérivées à calculer, on voudrait remplacer cette expression par
230 \begin{eqnarray*}
231 y(x_{n+1})&=&y(x_n)+a_1hf(x_n,y(x_n))+a_2hf(x_n+a_3h,y(x_n)+a_4h)+O(h^3)\\
232 \end{eqnarray*}
233 On développe en série de Taylor $f(x_n+a_3h,y(x_n)+a_4h)$
234 \begin{eqnarray*}
235 f(x_n+a_3h,y(x_n)+a_4h)=f(x_n,y(x_n))+a_3h\frac{\partial f(x_n,y(x_n))}{\partial x}+a_4h\frac{\partial f(x_n,y(x_n))}{\partial y}+O(h^2)\\
236 \end{eqnarray*}
237 En regroupant les deux dernières équations on a
238 \begin{eqnarray*}
239 y(x_{n+1})&=&y(x_n)+a_1hf(x_n,y(x_n))+a_2hf(x_n,y(x_n)+a_2a_3h^2\frac{\partial f(x_n,y(x_n))}{\partial x}\\& &+a_2a_4h^2\frac{\partial f(x_n,y(x_n))}{\partial y}+O(h^3)\\
240 &=&y(x_n)+h(a_1+a_2)f(x_n,y(x_n))+a_2a_3h^2\frac{\partial f(x_n,y(x_n))}{\partial x}+a_2a_4h^2\frac{\partial f(x_n,y(x_n))}{\partial y}+O(h^3)
241 \end{eqnarray*}
242 En identifiant cette dernière relation avec la série de Taylor, on obtient le système
243 \begin{eqnarray*}
244 \left \{
245 \begin{array}{l}
246 a_1+a_2=1\\
247 a_2a_3=\frac{1}{2}\\
248 a_2a_4=\frac{f(x_n,y(x_n))}{2}\\
249 \end{array}
250 \right.
251 \end{eqnarray*}
252 On a un système à 3 équations et 4 équations. Il y a donc plusieurs solutions.
253 Si on prend comme solution $a_1=a_2=\frac{1}{2}$, $a_3=1$ et $a_4=f(x_n,y(x_n))$ on obtient la méthode d'Euler modifiée :
254 \begin{eqnarray*}
255 y_{n+1}&=&y_n+\frac{h}{2}f(x_n,y_n)+\frac{h}{2}f(x_n+h,y_n+hf(x_n,y_n))
256 \end{eqnarray*}
257 Soit $\widehat{y}=hf(x_n,y_n)$ alors la dernière équation devient
258 \begin{eqnarray*}
259 \left \{
260 \begin{array}{l}
261 \widehat{y}=y_n+hf(x_n,y_n)\\
262 y_{n+1}=y_n+\frac{h}{2}f(x_n,y_n)+\frac{h}{2}f(x_n+h,\widehat{y})\end{array}
263 \right.
264 \end{eqnarray*}
265 Le calcul de $\widehat{y}$ correspond au calcul de la méthode d'Euler explicite. En fait, cette méthode consiste à faire une prédiction avec la méthode d'Euler explicite et de corriger cette prédiction par la deuxième formule.
266 On parle de méthode de prédiction-correction.
267
268 \subsubsection{Exemple de RK2}
269 On reprend le même exemple que lors de la méthode d'Euler explicite et on trouve \\
270 \footnotesize
271 \begin{tabular}{|r|r|r|r|r|}
272 \hline
273 $x_i$ & $\widehat{y}=y_n+hf(x_{i-1},y_{i-1})$& $y_i=y_{i-1}+\frac{h}{2}f(x_{i-1},y_{i-1})$ & $e^{-x}+x$ & $\frac{y_i-y(x_i)}{y(x_i)}$ \\
274 & & $+\frac{h}{2}f(x_{i-1}+h,\widehat{y}) $ & & \\
275 \hline
276
277 $0$&&$1$& $1$&$ 0$\\ \hdashline
278 $0,1$&$1$&$ 1,005$& $1,004837418$&$0,0001617993$\\
279 $0,2$&$ 1,0145 $&$ 1,019025$&$ 1,0187307531$&$ 0,0002888368$\\
280 $0,3$&$ 1,0371225$&$ 1,041217625$&$ 1,0408182207$&$ 0,0003837407$\\
281 $0,4$&$ 1,0670958625$&$ 1,0708019506$&$ 1,070320046$&$ 0,0004502434$\\
282 $0,5$&$ 1,1037217556$&$ 1,1070757653$&$ 1,1065306597$&$ 0,0004926258$\\
283 $0,6$&$ 1,1463681888$&$ 1,1494035676$&$ 1,1488116361$&$ 0,0005152555$\\
284 $0,7$&$ 1,1944632108$&$ 1,1972102287$&$ 1,1965853038$&$ 0,0005222569$\\
285 $0,8$&$ 1,2474892058$&$ 1,249975257$&$ 1,2493289641$&$ 0,000517312$\\
286 $0,9$&$ 1,3049777313$&$ 1,3072276076$&$ 1,3065696597$&$ 0,0005035689$\\
287 $1$&$ 1,3665048468$&$ 1,3685409848$&$ 1,3678794412$&$ 0,0004836272$\\
288 $1,1$&$ 1,4316868864$&$ 1,4335295913$&$ 1,4328710837$&$ 0,0004595721$\\
289 $1,2$&$ 1,5001766321$&$ 1,5018442801$&$ 1,5011942119$&$ 0,000433034$\\
290 $1,3$&$ 1,5716598521$&$ 1,5731690735$&$ 1,572531793$&$ 0,0004052576$\\
291 $1,4$&$ 1,6458521661$&$ 1,6472180115$&$ 1,6465969639$&$ 0,0003771704$\\
292 $1,5$&$ 1,7224962104$&$ 1,7237323004$&$ 1,7231301601$&$ 0,0003494456$\\
293 $1,6$&$ 1,8013590704$&$ 1,8024777319$&$ 1,801896518$&$ 0,0003225567$\\
294 $1,7$&$ 1,8822299587$&$ 1,8832423473$&$ 1,8826835241$&$ 0,0002968227$\\
295 $1,8$&$ 1,9649181126$&$ 1,9658343244$&$ 1,9652988882$&$ 0,0002724451$\\
296 $1,9$&$ 2,0492508919$&$ 2,0500800635$&$ 2,0495686192$&$ 0,0002495375$\\
297 $2$&$ 2,1350720572$&$ 2,1358224575$&$ 2,1353352832$&$ 0,0002281488$\\
298 $2,1$&$ 2,2222402118$&$ 2,222919324$&$ 2,2224564283$&$ 0,0002082812$\\
299 $2,2$&$ 2,3106273916$&$ 2,3112419883$&$ 2,3108031584$&$ 0,0001899036$\\
300 $2,3$&$ 2,4001177894$&$ 2,4006739994$&$ 2,4002588437$&$ 0,0001729629$\\
301 $2,4$&$ 2,4906065994$&$ 2,4911099694$&$ 2,4907179533$&$ 0,0001573908$\\
302 $2,5$&$ 2,5819989725$&$ 2,5824545223$&$ 2,5820849986$&$ 0,0001431106$\\
303 $2,6$&$ 2,6742090701$&$ 2,6746213427$&$ 2,6742735782$&$ 0,0001300407$\\
304 $2,7$&$ 2,7671592084$&$ 2,7675323152$&$ 2,7672055127$&$ 0,0001180984$\\
305 $2,8$&$ 2,8607790836$&$ 2,8611167452$&$ 2,8608100626$&$ 0,0001072013$\\
306 $2,9$&$ 2,9550050707$&$ 2,9553106544$&$ 2,9550232201$&$ 9,7269E-005$\\
307 $3$&$ 3,049779589$&$ 3,0500561423$&$ 3,0497870684$&$ 8,8227E-005$\\
308
309 \hline
310 \end{tabular}
311 \normalsize
312 \subsubsection{Méthode de Runge-Kutta d'ordre 4 : RK4}
313 En reprenant la même méthodologie que pour RK2 et en utilisant une série de Taylor de l'ordre 5 on obtient un système de 8 équations à 10 inconnues.
314 On obtient ainsi une méthode de RK4 :
315 \begin{eqnarray*}
316 \left \{
317 \begin{array}{l}
318 k_1=hf(x_n,y_n)\\
319 k_2=hf(x_n+\frac{h}{2},y_n+\frac{k_1}{2})\\
320 k_3=hf(x_n+\frac{h}{2},y_n+\frac{k_2}{2})\\
321 k_4=hf(x_n+h,y_n+k_3)\\
322 y_{n+1}=y_n+\frac{1}{6}(k_1+2k_2+2k_3+k_4)\\
323 \end{array}
324 \right.
325 \end{eqnarray*}
326 et on obtient le résultat suivant sur le même exemple que précédemment \\ \\
327 \scriptsize
328 \begin{tabular}{|r|r|r|r|r|r|r|r|}
329 \hline
330 $x_i$ & $k_1$ & $k_2$ & $k_3$ & $k_4$ & $y_i$ & $y(x_i)$ & $\frac{y_i-y(x_i)}{y(x_i)}$ \\
331 \hline
332
333 $0$&&&&&$1$&$1$&$0$\\ \hdashline
334 $0,1$&$ 0$&$ 0,005$&$ 0,00475$&$ 0,009525$&$ 1,0048375$&$ 1,004837418$&$ 8,1569E-008$\\
335 $0,2$&$ 0,00951625$&$ 0,0140404375$&$ 0,0138142281$&$ 0,0181348272$&$ 1,0187309014$&$ 1,0187307531$&$ 1,4560E-007$\\
336 $0,3$&$ 0,0181269099$&$ 0,0222205644$&$ 0,0220158816$&$ 0,0259253217$&$ 1,040818422$&$ 1,0408182207$&$ 1,9343E-007$\\
337 $0,4$&$ 0,0259181578$&$ 0,0296222499$&$ 0,0294370453$&$ 0,0329744533$&$ 1,0703202889$&$ 1,070320046$&$ 2,2692E-007$\\
338 $0,5$&$ 0,0329679711$&$ 0,0363195726$&$ 0,0361519925$&$ 0,0393527719$&$ 1,1065309344$&$ 1,1065306597$&$ 2,4826E-007$\\
339 $0,6$&$ 0,0393469066$&$ 0,0423795612$&$ 0,0422279285$&$ 0,0451241137$&$ 1,1488119344$&$ 1,1488116361$&$ 2,5964E-007$\\
340 $0,7$&$ 0,0451188066$&$ 0,0478628662$&$ 0,0477256633$&$ 0,0503462402$&$ 1,1965856187$&$ 1,1965853038$&$ 2,6314E-007$\\
341 $0,8$&$ 0,0503414381$&$ 0,0528243662$&$ 0,0527002198$&$ 0,0550714162$&$ 1,2493292897$&$ 1,2493289641$&$ 2,6063E-007$\\
342 $0,9$&$ 0,055067071$&$ 0,0573137175$&$ 0,0572013852$&$ 0,0593469325$&$ 1,3065699912$&$ 1,3065696597$&$ 2,5368E-007$\\
343 $1$&$ 0,0593430009$&$ 0,0613758508$&$ 0,0612742083$&$ 0,06321558$&$ 1,3678797744$&$ 1,3678794412$&$ 2,4361E-007$\\
344 $1,1$&$ 0,0632120226$&$ 0,0650514214$&$ 0,0649594515$&$ 0,0667160774$&$ 1,4328714154$&$ 1,4328710837$&$ 2,3148E-007$\\
345 $1,2$&$ 0,0667128585$&$ 0,0683772155$&$ 0,0682939977$&$ 0,0698834587$&$ 1,5011945393$&$ 1,5011942119$&$ 2,1809E-007$\\
346 $1,3$&$ 0,0698805461$&$ 0,0713865188$&$ 0,0713112201$&$ 0,0727494241$&$ 1,572532114$&$ 1,572531793$&$ 2,0408E-007$\\
347 $1,4$&$ 0,0727467886$&$ 0,0741094492$&$ 0,0740413161$&$ 0,075342657$&$ 1,6465972767$&$ 1,6465969639$&$ 1,8992E-007$\\
348 $1,5$&$ 0,0753402723$&$ 0,0765732587$&$ 0,0765116094$&$ 0,0776891114$&$ 1,7231304633$&$ 1,7231301601$&$ 1,7594E-007$\\
349 $1,6$&$ 0,0776869537$&$ 0,078802606$&$ 0,0787468234$&$ 0,0798122713$&$ 1,8018968106$&$ 1,801896518$&$ 1,6239E-007$\\
350 $1,7$&$ 0,0798103189$&$ 0,080819803$&$ 0,0807693288$&$ 0,0817333861$&$ 1,8826838054$&$ 1,8826835241$&$ 1,4942E-007$\\
351 $1,8$&$ 0,0817316195$&$ 0,0826450385$&$ 0,0825993675$&$ 0,0834716827$&$ 1,9652991577$&$ 1,9652988882$&$ 1,3714E-007$\\
352 $1,9$&$ 0,0834700842$&$ 0,08429658$&$ 0,0842552552$&$ 0,0850445587$&$ 2,0495688766$&$ 2,0495686192$&$ 1,2559E-007$\\
353 $2$&$ 0,0850431123$&$ 0,0857909567$&$ 0,0857535645$&$ 0,0864677559$&$ 2,1353355284$&$ 2,1353352832$&$ 1,1482E-007$\\
354 $2,1$&$ 0,0864664472$&$ 0,0871431248$&$ 0,0871092909$&$ 0,0877555181$&$ 2,2224566612$&$ 2,2224564283$&$ 1,0481E-007$\\
355 $2,2$&$ 0,0877543339$&$ 0,0883666172$&$ 0,088336003$&$ 0,0889207336$&$ 2,3108033792$&$ 2,3108031584$&$ 9,5557E-008$\\
356 $2,3$&$ 0,0889196621$&$ 0,089473679$&$ 0,0894459781$&$ 0,0899750643$&$ 2,4002590526$&$ 2,4002588437$&$ 0,000000087$\\
357 $2,4$&$ 0,0899740947$&$ 0,09047539$&$ 0,0904503252$&$ 0,0909290622$&$ 2,4907181505$&$ 2,4907179533$&$ 7,9183E-008$\\
358 $2,5$&$ 0,0909281849$&$ 0,0913817757$&$ 0,0913590962$&$ 0,0917922753$&$ 2,5820851845$&$ 2,5820849986$&$ 0,000000072$\\
359 $2,6$&$ 0,0917914815$&$ 0,0922019075$&$ 0,0921813862$&$ 0,0925733429$&$ 2,6742737531$&$ 2,6742735782$&$ 6,5411E-008$\\
360 $2,7$&$ 0,0925726247$&$ 0,0929439935$&$ 0,092925425$&$ 0,0932800822$&$ 2,7672056771$&$ 2,7672055127$&$ 5,9399E-008$\\
361 $2,8$&$ 0,0932794323$&$ 0,0936154607$&$ 0,0935986593$&$ 0,0939195664$&$ 2,8608102169$&$ 2,8608100626$&$ 5,3913E-008$\\
362 $2,9$&$ 0,0939189783$&$ 0,0942230294$&$ 0,0942078268$&$ 0,0944981956$&$ 2,9550233646$&$ 2,9550232201$&$ 4,8914E-008$\\
363 $3$&$ 0,0944976635$&$ 0,0947727804$&$ 0,0947590245$&$ 0,0950217611$&$ 3,0497872037$&$ 3,0497870684$&$ 4,4363E-008$\\
364 $3,1$&$ 0,0950212796$&$ 0,0952702157$&$ 0,0952577689$&$ 0,0954955027$&$ 3,1450493289$&$ 3,1450492024$&$ 4,0223E-008$\\
365 $3,2$&$ 0,0954950671$&$ 0,0957203138$&$ 0,0957090514$&$ 0,095924162$&$ 3,2407623221$&$ 3,240762204$&$ 3,6459E-008$\\
366 $3,3$&$ 0,0959237678$&$ 0,0961275794$&$ 0,0961173888$&$ 0,0963120289$&$ 3,3368832777$&$ 3,3368831674$&$ 0,000000033$\\
367
368 \hline
369 \end{tabular}
370 \normalsize
371 \\
372
373 On remarque que la méthode est assez précise c'est pourquoi c'est une méthode très employée en ingénierie.
374
375 \subsection{Système d'équations différentielles d'ordre 1}
376 \label{sysordre1}
377 \subsubsection{La méthode}
378 Soit à résoudre le système à $m$ équations suivant
379 \begin{eqnarray*}
380 \left \{
381 \begin{array}{l}
382 y_1'(x)=f_1\left(x,y_1(x),y_2(x),...,y_m(x)\right)\quad y_1(x_0)=y_{1,0}\\
383 y_2'(x)=f_2\left(x,y_1(x),y_2(x),...,y_m(x)\right)\quad y_2(x_0)=y_{2,0}\\
384 \vdots\\
385 y_m'(x)=f_m\left(x,y_1(x),y_2(x),...,y_m(x)\right)\quad y_m(x_0)=y_{m,0}
386 \end{array}
387 \right.
388 \end{eqnarray*}
389 On donne ici l'algorithme de RK4 pour ce système d'équations différentielles couplées (attention ici i est l'itérateur de fonction et n l'itérateur de pas de calcul).
390 \begin{eqnarray*}
391 \left \{
392 \begin{array}{l}
393 k_{i,1}=hf_i(x_n,y_{1,n},y_{2,n},...,y_{m,n})\quad 1\le i\le m\\
394 k_{i,2}=hf_i(x_n+\frac{h}{2},y_{1,n}+\frac{k_{1,1}}{2},y_{2,n}+\frac{k_{2,1}}{2},...,y_{m,n}+\frac{k_{m,1}}{2})\quad 1\le i\le m\\
395 k_{i,3}=hf_i(x_n+\frac{h}{2},y_{1,n}+\frac{k_{1,2}}{2},y_{2,n}+\frac{k_{2,2}}{2},...,y_{m,n}+\frac{k_{m,2}}{2})\quad 1\le i\le m\\
396 k_{i,4}=hf_i(x_n+h,y_{1,n}+k_{1,3},y_{2,n}+k_{2,3},...,y_{m,n}+k_{m,3})\quad 1\le i\le m\\
397 y_{i,n+1}=y_{i,n}+\frac{1}{6}(k_{i,1}+2k_{i,2}+2k_{i,3}+k_{i,4})\quad 1\le i\le m\\
398 x_{n+1}=x_n+h
399 \end{array}
400 \right.
401 \end{eqnarray*}
402
403 \subsubsection{Exemple}
404
405 On cherche à résoudre\\
406 \begin{eqnarray*}
407 \left \{
408 \begin{array}{l}
409 y_1'(x)=y_2(x)\\
410 y_2'(x)=2y_2(x)-y_1(x)\\
411 y_1(0)=2\\
412 y_2(0)=1\\
413 \end{array}
414 \right.
415 \end{eqnarray*}
416 On calcule le résultat toujours pour $h=0.1$.
417 \\On pose
418 \begin{eqnarray*}
419 \left \{
420 \begin{array}{l}
421 f_1(x,y_1,y_2)=y_2\\
422 f_2(x,y_1,y_2)=2y_2-y_1\\
423 k_{1,1}=hf_1(x_n,y_{1,n},y_{2,n})\\
424 k_{2,1}=hf_2(x_n,y_{1,n},y_{2,n})\\
425 k_{1,2}=hf_1(x_n+\frac{h}{2},y_{1,n}+\frac{k_{1,1}}{2},y_{2,n}+\frac{k_{2,1}}{2})\\
426 k_{2,2}=hf_2(x_n+\frac{h}{2},y_{1,n}+\frac{k_{1,1}}{2},y_{2,n}+\frac{k_{2,1}}{2})\\
427 k_{1,3}=hf_1(x_n+\frac{h}{2},y_{1,n}+\frac{k_{1,2}}{2},y_{2,n}+\frac{k_{2,2}}{2})\\
428 k_{2,3}=hf_2(x_n+\frac{h}{2},y_{1,n}+\frac{k_{1,2}}{2},y_{2,n}+\frac{k_{2,2}}{2})\\
429 k_{1,4}=hf_1(x_n+h,y_{1,n}+k_{1,3},y_{2,n}+k_{2,3})\\
430 k_{2,4}=hf_2(x_n+h,y_{1,n}+k_{1,3},y_{2,n}+k_{2,3})\\
431 \end{array}
432 \right.
433 \end{eqnarray*}
434
435
436
437
438
439 \footnotesize
440 \begin{turn}{-90}
441 \begin{tabular}{|r|r|r|r|r|r|r|r|r|r|r|}
442 \hline
443 $x_i$ & $k_{1.1}$ & $k_{2.1}$ & $k_{1.2}$ & $k_{2.2}$ & $k_{1.3}$ & $k_{2.3}$ & $k_{1.4}$ & $k_{2.4}$ & $y_{1,i}$ & $y_{2.i}$ \\
444 \hline
445
446 $0$&&&&&&&&&$2$&$1$\\ \hdashline
447 $0,1$&$ 0,1$&$ 0$&$ 0,1$&$ -0,005$&$ 0,09975$&$ -0,0055$&$ 0,09945$&$ -0,011075$&$ 2,099825$&$ 0,9946541667$\\
448 $0,2$&$ 0,0994654167$&$ -0,0110516667$&$ 0,0989128333$&$ -0,0171301042$&$ 0,0986089115$&$ -0,0177103188$&$ 0,0976943848$&$ -0,0244546216$&$ 2,1985255485$&$ 0,9771229777$\\
449 $0,3$&$ 0,0977122978$&$ -0,0244279593$&$ 0,0964908998$&$ -0,0317563701$&$ 0,0961244793$&$ -0,0324281413$&$ 0,0944694836$&$ -0,0405260355$&$ 2,2947609718$&$ 0,9449024747$\\
450 $0,4$&$ 0,0944902475$&$ -0,0404956022$&$ 0,0924654674$&$ -0,0492696748$&$ 0,0920267637$&$ -0,0500458431$&$ 0,0894856632$&$ -0,0597074472$&$ 2,3869210339$&$ 0,8950967938$\\
451 $0,5$&$ 0,0895096794$&$ -0,0596727446$&$ 0,0865260421$&$ -0,0701155031$&$ 0,0860039042$&$ -0,071010597$&$ 0,0824086197$&$ -0,0824752545$&$ 2,4730840659$&$ 0,8243634273$\\
452 $0,6$&$ 0,0824363427$&$ -0,0824357211$&$ 0,0783145567$&$ -0,0948011104$&$ 0,0776962872$&$ -0,09583156$&$ 0,0728531867$&$ -0,1093716619$&$ 2,5509692687$&$ 0,7288513066$\\
453 $0,7$&$ 0,0728851307$&$ -0,1093266655$&$ 0,0674187974$&$ -0,1239035886$&$ 0,0666899512$&$ -0,1250879643$&$ 0,0603763342$&$ -0,1410132535$&$ 2,6178824291$&$ 0,6041308025$\\
454 $0,8$&$ 0,0604130802$&$ -0,1409620824$&$ 0,0533649761$&$ -0,1580789447$&$ 0,052509133$&$ -0,1594382257$&$ 0,0444692577$&$ -0,1781006408$&$ 2,6706541885 $&$0,4451146252$\\
455 $0,9$&$ 0,0445114625$&$ -0,1780424938$&$ 0,0356093378$&$ -0,1980723163$&$ 0,0346078467$&$ -0,1996301923$&$ 0,0245484433$&$ -0,221429317$&$ 2,7055699009$&$ 0,2459684872$\\
456 $1$&$ 0,0245968487$&$ -0,2213632927$&$ 0,0135286841$&$ -0,2447294644$&$ 0,0123603755$&$ -0,2465126733$&$ -5,4418E-005$&$ -0,2719018649$&$ 2,7182899925$&$ 1,0248E-005$\\
457 $1,1$&$ 1,0248E-006$&$ -0,2718269496$&$ -0,0135903226$&$ -0,2990096958$&$ -0,01494946$&$ -0,301048403$&$ -0,0301038155$&$ -0,3305416842$&$ 2,7037595998$&$ -0,3004038902$\\
458 $1,2$&$ -0,030040389$&$ -0,330456738$&$ -0,0465632259$&$ -0,3620003924$&$ -0,0481404086$&$ -0,364328616$&$ -0,0664732506$&$ -0,3985084204$&$ 2,656106115$&$ -0,6640077527$\\
459 $1,3$&$ -0,0664007753$&$ -0,3984121621$&$ -0,0863213834$&$ -0,4349333395$&$ -0,0881474422$&$ -0,4375894268$&$ -0,110159718$&$ -0,4771153032$&$ 2,568523091$&$ -1,1007699191$\\
460 $1,4$&$ -0,1100769919$&$ -0,4770062929$&$ -0,1339273066$&$ -0,5192030726$&$ -0,1360371455$&$ -0,5222302348$&$ -0,1623000154 $&$-0,5678486253$&$ 2,4331387724$&$ -1,6220568412$\\
461 $1,5$&$ -0,1622056841$&$ -0,5677252455$&$ -0,1905919464$&$ -0,6163874858$&$ -0,1930250584$&$ -0,6198343967$&$ -0,2241891238$&$ -0,672389619$&$ 2,2408673028$&$ -2,2408166128$\\
462 $1,6$&$ -0,2240816613$&$ -0,6722500528$&$ -0,2576941639$&$ -0,7282709751$&$ -0,26049521$&$ -0,7321924422$&$ -0,2973009055$&$ -0,7926390203$&$ 1,981240417$&$ -2,9717859308$\\
463 $1,7$&$ -0,2971785931$&$ -0,7924812279$&$ -0,3368026545$&$ -0,856870421$&$ -0,3400221141$&$ -0,8613281372$&$ -0,3833114068$&$ -0,9307446439$&$ 1,6422171608$&$ -3,8317230955$\\
464 $1,8$&$ -0,3831723095$&$ -0,9305663352$&$ -0,4297006263$&$ -1,0044643532$&$ -0,4333955272$&$ -1,0095277392$&$ -0,4841250835$&$ -1,0891323303$&$ 1,2099688775$&$ -4,8396702372$\\
465 $1,9$&$ -0,4839670237$&$ -1,0889309352$&$ -0,5384135705$&$ -1,1736256775$&$ -0,5426483076$&$ -1,1793728244$&$ -0,6019043062$&$ -1,2705406693$&$ 0,6686363631$&$ -6,0172483386$\\
466 $2$&$ -0,6017248339$&$ -1,270313304$&$ -0,6652404991$&$ -1,3672583927$&$ -0,6700877535$&$ -1,3737771184$&$ -0,7391025457$&$ -1,4780599524$&$ 5,5715E-005$&$ -7,3889890517$\\
467
468 \hline
469 \end{tabular}
470 \end{turn}
471 \normalsize
472 \\ \\
473 La solution exacte de ce système est
474 \begin{eqnarray*}
475 \left \{
476 \begin{array}{l}
477 y_1(x)=2e^x-xe^x\\
478 y_2(x)=e^x-xe^x\\
479 \end{array}
480 \right.
481 \end{eqnarray*}
482 et le tracé des résultats permet de montrer la bonne précision de cette méthode.
483 \begin{figure}
484 \begin{center}
485 \includegraphics[width=12cm,bb=0 0 623 356]{./rk4couple.jpg}
486 % rk5couple.jpg: 831x475 pixel, 96dpi, 21.99x12.57 cm, bb=0 0 623 356
487 \end{center}
488 \caption{Solution du problème de RK4 couplé et comparaison avec la solution exacte}
489 \end{figure}
490
491 \section{Résolution d'équation différentielle d'ordre supérieur}
492 Il existe deux types d'équation différentielle d'ordre supérieur :
493 \begin{itemize}
494 \item Les équations où les conditions initiales sont connues.
495 \item Les équations où les conditions aux frontières sont connues.
496 \end{itemize}
497 \subsection{Équations différentielles avec conditions initiales}
498 \subsubsection{La méthode}
499 Ce système d'équations s'écrit
500 \begin{eqnarray*}
501 \left \{
502 \begin{array}{l}
503 y^{(m)}=f(x,y(x),y'(x),...,y^{(m-1)})\\
504 y(x_0)=y_0\\
505 y'(x_0)=y_0'\\
506 \vdots\\
507 y^{(m-1)}(x_0)=y_0^{(m-1)}
508 \end{array}
509 \right.
510 \end{eqnarray*}
511 Pour résoudre ce système on écrit les changements de variables suivants
512 \begin{eqnarray*}
513 \left \{
514 \begin{array}{l}
515 y_1(x)=y(x)\\
516 y_2(x)=y'(x)=y_1'(x)\\
517 y_3(x)=y''(x)=y_2'(x)\\
518 \vdots\\
519 y_m(x)=y^{(m-1)}(x)=y_{m-1}'(x)
520 \end{array}
521 \right.
522 \end{eqnarray*}
523 Le système de départ devient alors\\
524 \begin{eqnarray*}
525 \left \{
526 \begin{array}{l}
527 y_1'(x)=y_2(x)\\
528 y_2'(x)=y_3(x)\\
529 \vdots \\
530 y_{m-1}'=y_m(x)\\
531 y_{m}'=f(x,y_1(x),y_2(x)...,y_{m}(x))\\
532 y_1(x_0)=y(x_0)=y_0\\
533 y_2(x_0)=y(x_0)'=y_0'\\
534 y_3(x_0)=y(x_0)''=y_0''\\
535 \vdots\\
536 y_m(x_0)=y^{(m-1)}(x_0)=y_0^{m-1}
537 \end{array}
538 \right.
539 \end{eqnarray*}
540 On aboutit à un système de m équations différentielles d'ordre 1 couplées qui correspond au cas étudié à la section \ref{sysordre1}.
541 \subsubsection{Exemple}
542 Soit à résoudre
543 \begin{eqnarray*}
544 \left \{
545 \begin{array}{l}
546 y''(x)=-y'(x)+(y(x))^2+x^2-5\\
547 y(0)=1\\
548 y'(0)=2\\
549 \end{array}
550 \right.
551 \end{eqnarray*}
552 On pose
553 \begin{eqnarray*}
554 \left \{
555 \begin{array}{l}
556 y_1(x)=y(x)\\
557 y_2(x)=y'(x)=y_1'(x)\\
558 y_2'(x)=-y_2(x)+(y_1(x))^2+x^2-5\\
559 y_1(0)=y(0)=1\\
560 y_2(0)=y'(0)=2\\
561 \end{array}
562 \right.
563 \end{eqnarray*}
564 Ce système peut être résolu avec la méthode RK4 couplée de la section \ref{sysordre1}
565 \subsection{Équations différentielles avec conditions aux frontières}
566 Contrairement aux différents cas dans ce chapitre, quelques fois nous connaissons les conditions aux frontières au lieu des conditions initiales.
567 Le cas le plus courant en mécanique est l'équation de la flèche d'une poutre de longueur $L$ en flexion appuyée sur deux appuis simples. L'équation est $y''=\frac{M}{EI}$ avec $y(0)=y(L)=0$.
568 \\En règle générale un tel problème s'écrit à l'ordre 2
569 \begin{eqnarray*}
570 \left \{
571 \begin{array}{l}
572
573 y''(x)=f(x,y(x),y'(x))\\
574 y(x_0)=y_0\\
575 y(x_n)=y_n\\
576 \end{array}
577 \right.
578 \end{eqnarray*}
579
580 \subsubsection{Méthode de TIR}
581 Dans ce cas, on a appris à résoudre les cas ou les conditions initiales sont connues. On va donc essayer de se ramener à ce cas.
582 On va poser la condition initiale manquante $y'(0)=y'_0$ et on teste (on dit qu'on tire) le résultat via une méthode RK4 couplée puis on rectifie le résultat.
583 \\
584 Si la fonction $f$ est linéaire pour les différentes dérivées de $y$ alors il suffit de tirer deux fois pour obtenir la solution. Le premier tir avec $y'(0)=0$ donne une solution $y_{s1}(x)$ et le deuxième tir avec $y'(0)=1$ donne une solution $y_{s2}(x)$ .
585 La solution est alors
586 \begin{eqnarray*}
587 y(x)=\frac{y_n-y_{s2}(x_n)}{y_{s1}(x_n)-y_{s2}(x_n)}y_{s1}(x)+\frac{y_{s1}(x_n)-y_n}{y_{s1}(x_n)-y_{s2}(x_n)}y_{s2}(x)
588 \end{eqnarray*}
589
590 Si la fonction $f$ est non linéaire, le problème est plus complexe parce qu'il faut tirer plusieurs fois. On pose $y'(0)=\beta$ et effectue un tir et on obtient $y_\beta(x)$ et on construit la fonction $g(\beta)=y_\beta(x_n)-y_n$. On recherche $\beta$ pour annuler la fonction $g$,
591 Cette fonction $g$ est une fonction non linéaire et les méthodes du chapitre \ref{equanonli} doivent être employées:
592 \begin{itemize}
593 \item la méthode de la bissection pose le problème de choisir adéquatement les bornes $\beta_0$ et $\beta_1$ de la recherche de la racine.
594 \item la méthode du point fixe ne peut être utilisé parce que la fonction $g$ ne peut pas être mise sous la forme $\beta=h(\beta)$.
595 \item la méthode de Newton nécessite de connaître $g'(\beta)=\left[y_\beta(x_n)-y_n\right]')$. Comme nous ne connaissons pas la fonction $g$ de manière littérale, nous ne pouvons pas la dériver. Il faut donc utiliser une méthode numérique de dérivation. Par exemple on peut définir $g'(\beta)=\frac{g(\beta+\epsilon)-g(\beta)}{\epsilon}$.
596 \end{itemize}
597 Cette méthode de TIR dans le cas d'une fonction $f$ non linéaire consiste à effectuer une recherche de racine où à chaque itération de la solution on doit résoudre un (ou plusieurs pour obtenir $g'(\beta)$) système d'équations linaires d'ordre 1 par la méthode de RK4 couplée.
598 \subsubsection{Exemple méthode de TIR}
599
600 \textbf{}\\
601 \textbf{Énoncé}\\
602 L'objectif est de trouver la flèche d'une poutre ($E=200GPa$ et $I=2.56$ $10^{-6}mm^4$) sur deux appuis.
603 \begin{center}
604 \includegraphics[width=10cm,bb=0 0 276 164]{./poutrefleche.jpg}
605 % poutrefleche.jpg: 368x218 pixel, 96dpi, 9.74x5.77 cm, bb=0 0 276 164
606 \end{center}
607
608 La flèche est donné par l'expression
609 \begin{eqnarray*}
610 y''(x)=\frac{M(x)}{EI}
611 \end{eqnarray*}
612 où M est le moment fléchissant de la poutre. \\
613 Les conditions initiales sont $y(0)=y(4)=0$\\
614
615 Dans ce cas le moment fléchissant vaut
616 \begin{eqnarray*}
617 \left \{
618 \begin{array}{l}
619 M(x)=\frac{12000x}{EI}\text{ si $x\leq$1}\\
620 M(x)=\frac{12000x-16000(x-1)}{EI}=\frac{-4(x-4)}{EI}\text{ si $x$>1}\\
621 \end{array}
622 \right.
623 \end{eqnarray*}
624
625 Le problème se met en équation selon la manière suivante :
626 \begin{eqnarray*}
627 \left \{
628 \begin{array}{l}
629 y''(x)=\frac{M(x)}{EI}\\
630 y(0)=y(4)=0\\
631 \end{array}
632 \right.
633 \end{eqnarray*}
634 et il se transforme un problème du premier ordre couplé :
635 \begin{eqnarray*}
636 \left \{
637 \begin{array}{l}
638 y'_1(x)=y_2(x)\\
639 y'_2(x)=\frac{M(x)}{EI}\\
640 y_1(0)=0\\
641 y_2(0)=\beta\\
642 \end{array}
643 \right.
644 \end{eqnarray*}
645 La solution du problème est $y_1(x)$ et on doit retrouver $y_1(4)=0$ en choisissant le bon $\beta$.
646
647 \textbf{Résolution linéaire}\\
648 La solution consiste à tirer avec $\beta=0$ en appliquant la méthode RK4 couplée.
649 \begin{center}
650 \includegraphics[width=10cm,bb=0 0 734 478]{./libeta0.jpg}
651 % libeta0.jpg: 978x637 pixel, 96dpi, 25.88x16.85 cm, bb=0 0 734 478
652 \end{center}
653 puis avec $\beta=1$
654 \begin{center}
655 \includegraphics[width=10cm,bb=0 0 734 478]{./libeta1.jpg}
656 % libeta1.jpg: 978x637 pixel, 96dpi, 25.88x16.85 cm, bb=0 0 734 478
657 \end{center}
658 La combinaison des 2 donne le résultat final
659 \begin{center}
660 \includegraphics[width=10cm,bb=0 0 734 478]{./liy.jpg}
661 % liy.jpg: 978x637 pixel, 96dpi, 25.88x16.85 cm, bb=0 0 734 478
662 \end{center}
663 La solution est obtenue en 2 tirs (RK4 couplée).\\
664 \textbf{Résolution non linéaire}\\
665 On tire avec $\beta=1$ et avec $\beta=1.001$($\epsilon=0.001$) et on a
666 \begin{center}
667 \includegraphics[width=10cm,bb=0 0 734 478]{./nonliyb1.jpg}
668 % nonliyb1.jpg: 978x637 pixel, 96dpi, 25.88x16.85 cm, bb=0 0 734 478
669 \end{center}
670 \begin{center}
671 \includegraphics[width=10cm,bb=0 0 734 478]{./nonliybeps1.jpg}
672 % nonliybeps1.jpg: 978x637 pixel, 96dpi, 25.88x16.85 cm, bb=0 0 734 478
673 \end{center}
674 on résout la fonction $g(\beta)=y_\beta(x_n)-y_n$ par la méthode de Newton. on a \\
675 \begin{eqnarray*}
676 \beta_{i+1}&=&\beta_i-\frac{g(\beta_i)}{g'(\beta_i)}\\
677 g'(\beta_i)&=&\frac{g(\beta_i+\epsilon)-g(\beta_i)}{\epsilon}\\
678 \beta_{i+1}&=&\beta_i-\frac{g(\beta_i)\epsilon}{g'(\beta_i+\epsilon)-g(\beta_i)}\\
679 \beta_{i+1}&=&1-\frac{4.1093749999*0.001}{4.11337499999-4.1093749999}=-0.0273437499999
680 \end{eqnarray*}
681 On tire avec cette dernière valeur de $\beta$ et $\beta+\epsilon$
682 \begin{center}
683 \includegraphics[width=10cm,bb=0 0 734 478]{./nonliyb2.jpg}
684 % nonliyb2.jpg: 978x637 pixel, 96dpi, 25.88x16.85 cm, bb=0 0 734 478
685 \end{center}
686 \begin{center}
687 \includegraphics[width=10cm,bb=0 0 734 478]{./nonliybeps2.jpg}
688 % nonliybeps2.jpg: 978x637 pixel, 96dpi, 25.88x16.85 cm, bb=0 0 734 478
689 \end{center}
690 on résout à nouveau la fonction $g(\beta)=y_\beta(x_n)-y_n$ par la méthode de Newton et on a \\
691 \begin{eqnarray*}
692 \beta_{i+1}=-0.0273437499999-\frac{0.000000000001375759*0.001}{0.0004000000001375}=-0.0273437499999
693 \end{eqnarray*}
694 $\beta$ ne change plus la solution est convergée et le résultat obtenu est le résultat final.
695 La solution est obtenue en 4 tirs (RK4 couplée).
696 \subsubsection{Méthode des différences finies}
697 On considère ici l'équation différentielle avec conditions aux frontières suivante :
698 \begin{eqnarray*}
699 \left \{
700 \begin{array}{l}
701 y''(x)=a_2(x)y'(x)+a_1(x)y(x)+a_0(x)\\
702 y(a)=y_a\\
703 y(b)=y_b\\
704 \end{array}
705 \right.
706 \end{eqnarray*}
707 On récrit ce problème sous la forme suivante
708 \begin{eqnarray*}
709 \left \{
710 \begin{array}{l}
711 y''(x)-a_2(x)y'(x)-a_1(x)y(x)=a_0(x)\\
712 y(a)=y_a\\
713 y(b)=y_b\\
714 \end{array}
715 \right.
716 \end{eqnarray*}
717 et on introduit les différences centrées d'ordre 2 calculées dans le chapitre \ref{diffinte}. Pour cela on divise l'intervalle $[a,b]$ en $n$ sous intervalle de longueur $h=\frac{b-a}{h}$ et on a $x_i=a+ih$ et $x_n=a+nh=b$.
718 \begin{eqnarray*}
719 y''(x_i)&=&\frac{y_{i+1}-2y_i+y_{i-1}}{h^2}+O(h^2)\\
720 y'(x_i)&=&\frac{y_{i+1}-y_{i-1}}{2h}+O(h^2)\\
721 \end{eqnarray*}
722 L'équation différentielle devient
723 \begin{eqnarray*}
724 \frac{y_{i+1}-2y_i+y_{i-1}}{h^2}-a_2(x_i)\frac{y_{i+1}-y_{i-1}}{2h}-a_1(x_i)y(x)=a_0(x_i)\quad 1 \le i \le n-1\\
725 -(2+ha_2(x_i))y_{i-1}+(4+2h^2a_1(x_i))y_i+(-2+ha_2(x_i))y_{i+1}=-2h^2a_0(x_i)\quad 1 \le i \le n-1\\
726 \end{eqnarray*}
727 On obtient ainsi $n-1$ équations pour $n-1$ inconnues ($(n+1)$ $y_i$ dont 2 connues $y_0$ $y_n$). Nous avons affaire un système d'équations linéaires que nous pouvons résoudre avec une méthode du chapitre \ref{equalgebrique}
728
729 Ce système est un système tridiagonal, il se résout à l'aide de l'algorithme \ref{LUtri}. Il s'écrit\\
730 \begin{turn}{-90}
731 \begin{minipage}[c][15cm][c]{20cm}
732 \footnotesize
733 \begin{eqnarray*}
734 \begin{pmatrix}
735 4+2h^2a_1(x_1) & -2+ha_2(x_1) & 0 & 0 & ... & 0\\
736 -2-ha_2(x_2) & 4+2h^2a_1(x_2) & -2+ha_2(x_2)&0 & ... & 0\\
737 \vdots& &\ddots & & & &\vdots\\
738 0 & ...& 0& -2-ha_2(x_{n-2}) & 4+2h^2a_1(x_{n-2}) & -2+ha_2(x_{n-2})\\
739 0 & ...& 0 &0& & -2-ha_2(x_{n-1}) & 4+2h^2a_1(x_{n-1}) \\
740 \end{pmatrix}
741 \begin{pmatrix}
742 y_1\\
743 y_2\\
744 \vdots\\
745 y_{n-2}\\
746 y_{n-1}\\
747 \end{pmatrix}
748 =
749 \begin{pmatrix}
750 -2h^2a_0(x_1)+(2+ha_2(x_1))y_0\\
751 -2h^2a_0(x_2)\\
752 \vdots\\
753 -2h^2a_0(x_{n-2})\\
754 -2h^2a_0(x_{n-1})+(2+ha_2(x_{n-1}))y_n\\
755 \end{pmatrix}
756 \end{eqnarray*}
757 \end{minipage}
758 \end{turn}
759 \\En prenant des différences centrées d'ordre 2, nous obtenons une méthode moins précise que la méthode de RK4 couplée qui est d'ordre 4. On peut augmenter la précision de la méthode des différences finies en prenant des différences centrées plus élevées.
760 \\[2cm]
761 \begin{encadre}{À retenir}
762 La résolution de systèmes d'équations différentielles est la base de beaucoup de modélisation d'ingénierie. Souvent ces systèmes se complexifient, quand le nombre d'inconnues augmentent, pour devenir des systèmes aux dérivées partielles. La méthode des différences fines est une introduction à cette généralisation.
763 Dans cet optique la méthode Runge Kutta 4 (RK4) doit être comprise.
764 \end{encadre}