Vous êtes sur la page 1sur 1

Polytech’ Orléans 5TE01-Outils de l’ingénieur 2021/2022

TD5. Inversion de systèmes linéaires larges


(Méthodes directes)

L’objectif de ce TD est de déterminer, numériquement à l’aide de MATLAB, l’état stationnaire


solution de l’équation de la chaleur 1D avec conditions aux limites de type Dirichlet.

Inversion d’un système

Le problème s’écrit :

𝒅𝟐 𝑻𝟏𝑫 𝐓𝟏𝐃 (𝟎) = 𝐓𝟏


=𝟎; 0≤ x ≤ L ;
𝒅𝒙𝟐 𝐓𝟏𝐃 (𝐋) = 𝐓𝐋 =TN (1)

𝐱
Il a pour solution analytique : 𝐓𝟏𝐃 (𝐱) = 𝐓𝟏 + (𝐓𝐋 − 𝐓𝟏 )
𝐋

En considérant un maillage régulier de l’intervalle [0,L] :

𝒙i= (i-1)𝒙 ; 𝒙=L/(N-1) ; i = 1,…..,N (2)

Le problème peut se réécrire sous la forme du système matriciel A1D.T=b suivant :

−𝟐 𝟏 𝟎 … 𝟎 𝑻𝟐 −𝑻𝟏
𝟏 −𝟐 𝟏 𝟎 … 𝟎 𝑻𝟑 𝟎
𝟎 𝟏 −𝟐 𝟏 𝟎 … 𝑻𝟒 𝟎
⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋮ ⋮ = ⋮
𝟎 … 𝟎 𝟏 −𝟐 𝟏 𝟎 𝑻𝑵−𝟑 𝟎
𝟎 𝟎 𝟏 −𝟐 𝟏 𝑻𝑵−𝟐 𝟎
(𝟎 ⋯ 𝟏 −𝟐 ) ( 𝑻𝑵−𝟏 ) ( −𝑻 𝑵)

1. Les conditions aux limites font que la matrice A1D est de dimension (N-2)x(N-2). Ecrire sous
Matlab la matrice A1D et le vecteur b et expérimenter les fonctions nume1(A1D), nnz(A1D) et
spy(A1D).

Notes: Il est possible d’écrire les matrices en réalisant des boucles mais il existe des fonctions
prédéfinies dans MATLAB qui permettent de s’en affranchir.

2. Calculer la solution T avec les fonctions de Matlab T=A1D−1∗b ou T=inv(A1D)*b ou T=A1D\b ou


encore T= sparse(A1D)\b.

3. Comparer le temps de calcul de T avec chaque méthode. Pour que la comparaison soit claire,
augmenter la taille de la matrice (pas plus de N=5000).

4. A la suite, faire le calcul de la solution analytique aux mêmes nœuds et tracer les deux solutions
sur un même graphique.

5. Programmer les méthodes itératives de type Jacobi et Gauss-Seidel.

Vous aimerez peut-être aussi