Académique Documents
Professionnel Documents
Culture Documents
TP
AN
TP
AN
(x)| x.
Le coecient damplication de lerreur est alors donn par |f
(x)| |x|
|f(x)|
x
|x|
,
de sorte que le coecient damplication de lerreur relative est
|f
(x)| |x|
|f(x)|
. Que vaut ce
coecient dans notre cas ? En dduire une explication du phnomne observ prcdemment.
5 Systmes linaires
On considre le systme linaire
Ax = b, A =
_
_
2 1 1
2 2 2
1 1 2
_
_
, b =
_
_
1
1
1
_
_
.
Rentrez A et b dans la fentre de commandes matlab.
Pour rsoudre ce systme en utilisant la mthode de Gauss, tapez :
x = A \ b
Pour calculer la factorisation LU de A, tapez :
[L,U,P] = lu(A)
8
Utiliser cette factorisation LU pour retrouver le rsultat prcdent en rsolvant deux sys-
tmes triangulaires.
Ouvrez un navigateur internet et tapez ladresse
http ://www.ensil.unilim.fr/~cluzeau/AnalyseNumerique/systemelineaire.m
pour tlcharger le script suivant :
clear all ;
close all ;
A = [2 -1 1 ; 2 2 2 ; -1 -1 2] ;
b = [1 ; 1 ; 1] ;
D = diag(diag(A)) ;
E = zeros(3) ;
E(2,1) = -A(2,1) ;
E(3,1) = -A(3,1) ;
E(3,2) = -A(3,2) ;
F = zeros(3) ;
F(1,2) = -A(1,2) ;
F(1,3) = -A(1,3) ;
F(2,3) = -A(2,3) ;
invD = D (-1) ;
B = invD*(E+F) ;
x( :, 1) = [1 ; 0 ; 1] ;
for (i=2 :1 :100)
x( :,i) = B*x( :,i-1) + invD*b ;
end ;
x( :,100)
Excutez ce script. Que fait-il ? Expliquez le rsultat obtenu. On pourra utiliser les com-
mandes Matlab eig et abs qui permettent de calculer respectivement les valeurs propres
dune matrice et le module dun (vecteur de) nombre(s) complexe(s).
Crez un nouveau chier script gaussseidel.m dans lequel vous appliquerez la mthode
de Gauss-Seidel pour rsoudre le systme Ax = b (comme dans le script prcdent, on
arrtera le calcul aprs 100 itrations). Excutez le. Que constatez-vous ? Justiez.
6 Barre mtallique
On considre une barre mtallique, assimile un segment de droite dextrmits a et
b. La barre est chaue ses deux extrmits et plonge dans une pice maintenue une
temprature constante. La temprature en un point dabscisse x de la barre sera not (x).
9
Nous souhaitons connaitre la temprature (x) en tout point x ]a, b[, sachant que (a) =
a
et (b) =
b
sont donns. La temprature ambiante sera note
amb
.
Dans ce problme, il y a une perte de chaleur due la convection de lair, que lon peut
modliser par une fonction x (x), suppose connue et positive. La temprature est
alors solution de lquation direntielle du second ordre suivante :
_
_
_
d
2
(x)
dx
2
+(x) ((x)
amb
), a < x < b,
(a) =
a
, (b) =
b
,
o dsigne un coecient de diusion thermique suppos strictement positif.
On subdivise lintervalle [a, b] en N 1 intervalles de longueur h =
b a
N 1
tels que :
x
1
= a, x
i+1
= x
i
+h, i = 1, 2, . . . , N 1, x
N
= b.
On notera
i
une approximation de la temprature (x
i
) au point x
i
.
On va maintenant discrtiser lquation direntielle par dirences nies cest--dire que
lon va approcher les termes de drivation par des quotients en utilisant la dnition de la
drive qui permet dcrire pour h assez petit :
d
dx
(x)
(x +h) (x)
h
,
d
2
dx
2
(x)
(x +h) 2 (x) +(x h)
h
2
.
Le problme approch est alors quivalent la rsolution du systme suivant :
_
_
_
h
2
(
i+1
2
i
+
i1
) +
i
(
i
amb
) = 0, i = 2, . . . , N 1,
1
=
a
,
N
=
b
.
crire le systme prcdent sous une forme matricielle A = f, o A est une matrice de
taille N 2, f est un vecteur de R
N2
et = (
2
3
N2
N1
)
T
.
crire la fonction matlab suivante dans un chier alpha.m :
function y = alpha(x)
y = 10*x.*(1-x) ;
Ouvrez un navigateur internet et tapez ladresse
http ://www.ensil.unilim.fr/~cluzeau/AnalyseNumerique/barre.m
10
pour tlcharger le script suivant :
clear all ;
close all ;
N = 10 ;
a = 0 ;
b = 1 ;
h = (b-a)/(N-1) ;
theta
a = 18 ;
theta
b = 15 ;
theta
amb = 25 ;
kappa = 0.1 ;
x = a :h :b ;
alp = alpha(x) ;
A = 2*eye(N-2)+h*h/kappa*diag(alp(2 :N-1)) ;
A = A+diag(-ones(N-3,1),-1)+diag(-ones(N-3,1),1) ;
f(1) = theta
a + h*h/kappa*alp(2)*theta
amb ;
f(2 :N-3) = h*h/kappa*alp(3 :N-2)*theta
amb ;
f(N-2) = theta
b + h*h/kappa*alp(N-1)*theta
amb ;
theta(1) = theta
a ;
theta(2 :N-1) = A \ f ;
theta(N) = theta
b ;
plot(x,theta) ;
1. Excutez ce programme et justiez le fait quil rsout bien le problme donn pour
les valeurs des paramtres dnis dans le programme. En particulier on expliquera la
construction de la matrice A du systme et celle du second membre f qui doivent
correspondre ceux de la forme matricielle trouve prcdemment ;
2. Quelle est la structure (position des lments non-nuls) de la matrice A?
3. Calculez le conditionnement de A pour les normes matricielles subordonnes aux
normes .
1
, .
2
et .