Вы находитесь на странице: 1из 2

M1

MSNU Mod lisation et simulation num rique e e Feuille de TP 1

2011/12

Exercice I. Diff rences nies pour un probl` me aux limites unidimensionnel e e On etudie le probl` me aux limites e (1) u (x) + c(x)u(x) = f (x) (x ]0, 1[ ) ; u(0) = u0 , u(1) = u1 .
1 N

e e 1. Pour N {1, 2, . . .} donn , on d nit les nuds xj = jh avec h = X = (x0 , . . . , xN ) , F et C aux composants fj = f (xj ), cj = c(xj ) (j = 0, . . . , N ) .

et les vecteurs

Supposant que les fonctions f et c sont d nies dans des chiers f.m et c.m, ecrire un e script, sauvegard dans le chier diff1.m, qui afche X , F et C . Tester avec e f (x) = ( 2 + x) cos(x), c(x) = x, N = 5.

e e e e 2. On consid` re la discr tisation de (1) par le sch ma de diff rences nies


1 (1h ) h2 Uj1 2Uj +Uj+1 +cj Uj = fj

(j = 1, . . . , N 1) ;

U0 = u0 , UN = u1 .

Ici, Uj est consid r comme approximation de u(xj ) ( j = 0, . . . , N ). ee Pour les valeurs inconnues U1 , . . . , UN 1 , on obtient donc un syst` me lin aire de taille e e (N 1) (N 1) de la forme (2) Uj1 + (2 + h2 cj )Uj Uj+1 = h2 fj (j = 1, . . . , N 1) . Construire les 2 matrices A1 , A2 R(N 1,N 1) telles que A = A1 + h2 A2 soit la matrice du syst` me (2). Sauvegarder dans un chier diff2.m et v rier pour N = 4, 5, 6 . e e 3. Pour u0 = 1 , u1 = 1 et f et c comme avant, construire le second membre B RN 1 tel que le syst` me (2) s crive sous la forme AU = B , et calculer la solution U e e N 1 R . Dessiner la solution approch e pour N = 3, 5, 20 . Sauvegarder sous diff3.m. e 4. Etudier lerreur en fonction de N : Ecrire une fonction errmax (chier errmax.m) qui, pour N donn , calcule e eN :=
1jN 1

max |Uj u(xj )| .

Afcher un tableau derreurs pour N {4, 8, 16, 32} . Dessiner eN en fonction de N ` e dans un graphe a l chelle doublement logarithmique, comparer avec N N 2 et d duire le comportement asymptotique de lerreur e eN h . Sauvegarder dans diff4.m. (La solution exacte dans notre exemple est u(x) = cos(x) .)

Exercice II. Solution moins r guli` re e e ` On continue a etudier le probl` me aux limites (1) avec c(x) = x et u0 = 1 , u1 = 1 . e e 1. D nir les 2 fonctions u2 (chier u2.m) et f 2 (chier f2.m) selon : u2(x) = 1 4x2 3 8x + 4x2 si x < si x
1 2 1 2

f 2(x) =

8 + x 4x3 8 + 3x 8x2 + 4x3

si x < si x

1 2 1 2

On peut utiliser des op rations logiques de Matlab : Si X est un vecteur, alors X<1/2 est e un vecteur de la m me taille que X, avec des coefcients 1 (=vrai) et 0 (=faux) indiquant e si lin galit est satisfaite pour le coefcient correspondant de X. Essayez : e e t=linspace(0,1,1e4); v = 2*t.*(t<1/2) + 2*(1-t).*(t>=1/2); plot(t,v) 2. Comparer graphiquement la fonction u2 avec la fonction u(x) = cos(x) de lexercice I.4. Combien de fois u2 est-elle contin ment d rivable ? u e 3. R soudre le probl` me aux limites (1) avec second membre f 2 . La solution exacte e e est u2 . R p ter l tude de convergence de lexercice I.4 pour cet exemple. Quel ordre de e e e convergence observez-vous ? Exercice III. Sch ma de Numerov e Impl menter le sch ma de Numerov (voir TD1) qui correspond au syst` me d quations e e e e h2 5h2 h2 h2 cj ) Uj + (1 + cj+1 ) Uj+1 = (fj1 + 10fj + fj+1 ) (1 + cj1 ) Uj1 + (2 + 12 6 12 12 1. Consid rer le probl` me aux limites (1) et etudier la convergence de la m thode pour e e e lexemple etudi dans lexercice I . Quel ordre de convergence observez-vous ? e 2. Si vous prenez lexemple consid r dans lexercice II ci-dessus, quel ordre de converee gence observez-vous ?

Вам также может понравиться