• Aucun résultat trouvé

2017-2018

N/A
N/A
Protected

Academic year: 2021

Partager "2017-2018"

Copied!
12
0
0

Texte intégral

(1)

ISA BTP, 4◦ année ANNÉE UNIVERSITAIRE 2017-2018

CONTRÔLE CONTINU Méthodes numériques. Durée 1h30

Pour chacun des algorithmes à commenter, on donnera en entête l’objectif de chacun des algorithmes. On précisera aussi au cœur du programme toutes les subtilités que l’on jugera nécessaire de mettre en évidence. Exercice 1 1. Commenter l’algorithme 1 donné en annexe 1. On remplacera en particulier le message

d’er-reur "Message d’erd’er-reur 1" par un message plus explicite.

2. Commenter l’algorithme 2 donné en annexe 2. On remplacera en particulier les messages d’erreur "Message d’erreur 2" et "Message d’erreur 3" par des messages plus explicites.

? ? ? ? ? ? ? ? ? ? ?

Exercice 2 Certaines méthodes de quadrature sont basées sur la propriété suivante : pour un degré p fixé, il existe p + 1 coefficients ω(p)0 , . . . , ωp(p), indépendant de l’intervalle [a, b] tels que pour tout polynôme P (x) de

degré p, on ait Z b a P (x)dx = (b − a) p X k=0 ωk(p)P (xk)

où les xk sont les p + 1 points du segment [a, b] découpant ce dernier en p intervalles de même longueur. Il est

alors possible de déterminer, pour p ∈ N∗ fixé, les coefficients ωk(p) en se basant sur les fonctions puissances, intégrées sur l’intervalle [−1, 1].

1. Cas p = 2

(a) Déterminer un système d’équations linéaires (S) vérifié par les coefficients ω(2)0 , ω1(2) et ω(2)2 en s’appuyant sur les égalités suivantes :

∀i = 0, 1, 2, Z 1 −1 Pi(x)dx = 2  ω0(2).Pi(−1) + ω (2) 1 .Pi(0) + ω (2) 2 .Pi(1)  où P0 : x 7→ 1, P1 : x 7→ x, P2 x 7→ x2

On précisera la matrice A et le second membre B de ce système linéaire. (b) Résoudre le système et donner les poids relatifs à la méthode de Simpson. (c) Montrer que, pour tout polynôme P (x) = ax2+ bx + c de degré 2, on a

Z 1 −1 P (x)dx = 2 1 6.P (−1) + 2 3.P (0) + 1 6.P (1) 

(d) À l’aide du changement de variable

t = h

2x + a + h 2

montrer que pour tout polynôme P (x) = ax2+ bx + c et pour tout intervalle de la forme [a, a + h],

on a Z a+h a P (t)dt = h 1 6.P (a) + 2 3.P  a +h 2  +1 6.P (a + h) 

2. Cas général : commenter l’algorithme 3 donné en annexe 3.

3. Expliquer en quoi ces méthodes permettent de calculer une valeur approchée de l’intégrale I = Z b

a

f (x)dx à l’aide de polynômes interpolateurs.

4. Commenter les algorithmes 4.1 et 4.2 donnés en annexe 4. ? ?

(2)

Nom : ... Prénom : ...

ANNEXE

1

Algorithme 1 # ... # ... # ... 1. def Fonction1(X,Y ): 2. p=len(X)-1 # ... 3. if p <> len(Y)-1: 4. return "Message d’erreur 1" # ... 5. P(x)=0 6. for i in range(p+1): # .. . 7. Li(x)=1 8. for j in range(p+1): 9. if i<>j: 10. Li(x) = Li( x)*(x-X[j])/(X[i]-X[j]) P(x) = P(x) + Y[i]*Li(x) # ... 11. return P

(3)

Nom : ... Prénom : ...

ANNEXE

2

Algorithme 2 # ... # ... # ... 1. def Fonction2(X,Y ,a,p): 2. if p>len(X)-1: 3. return "Message d’erreur 2" # ... 4. if a<X[0] o r a>X[-1]: 5. return "Message d’erreur 3" # ... 6. k=0 7. while X[k]<a: # ... 8. k += 1 9. if k>=p: 10. P=Fonction1(X[k-p:k+ 1],Y[k-p:k+1]) # ... 11. else: 12. P=Fonction1(X[0:p+1] ,Y[0:p+1]) # ... 13. return P(a) # ...

(4)

Nom : ... Prénom : ...

ANNEXE

3

Algorithme 3 # ... # ... # ... 1. def Fonction3(p): # ... 2. X=srange(-1,1+2/p, 2/p) # ... 3. Lignes_A = [] 4. for i in range(p+1): # ... 5. Ligne_i = [] # ... 6. for j in range(p+1): # ... 7. Ligne_i.append(X[j]** i) # ... 8. Lignes_A.append(Lign e_i) # ... 9. A = matrix( Lignes_A) # ... # ... 10. Ligne_B=[] 11. for k in range(p+1): # ... 12. Ligne_B.append((1/2) *(1/(k+1))*(1-(-1)**(k+1))) # ... 13. B = vector( Ligne_B) # ... 14. Wp = A**(-1 )*B # ... 15. return Wp

(5)

Nom : ... Prénom : ...

ANNEXE

4

Algorithme 4.1 # ... # ... # ... 1. def Fonction41(f ,a,b,Wp): 2. p=len(Wp)-1 # ... 3. S=0 4. h=(b-a)/p # ... 5. for i in range(p+1): 6. xi=a+i*h # ... 7. S+=Wp[i]*f(xi) # ... 8. S=S*(b-a) 9. return S Algorithme 4.2 # ... # ... # ... 1. def Fonction42(f ,a,b,n,p): 2. Wp=Fontion3(p) # ... 3. h=(b-a)/n 4. X=srange(a,b+h,h) # ... 5. Ip=0 6. for k in range(n): 7. Ip += Foncti on41(f,X[k],X[k+1],Wp) # ... 8. return Ip

(6)

CORRECTION

Exercice 1 : 1. c.f. annexe 1 ci-dessous. 2. c.f. annexe 2 ci-dessous. ? ? ? ? ? ? ? ? ? ? ? Exercice 2 : 1. (a) — Pour i = 0, Z 1 −1 P0(x)dx = Z 1 −1 dx = 2 et 2(ω(2)0 .P0(−1) + ω (2) 1 .P0(0) + ω (2) 2 .P0(1)) = 2(ω (2) 0 + ω (2) 1 + ω (2) 2 ) D’où (E0) : ω (2) 0 + ω (2) 1 + ω (2) 2 = 1 — Pour i = 1, Z 1 −1 P1(x)dx = Z 1 −1 xdx = 0 et 2(ω(2)0 .P1(−1) + ω (2) 1 .P1(0) + ω (2) 2 .P1(1)) = 2(ω (2) 0 .(−1) + ω (2) 1 .0 + ω (2) 2 .1) D’où (E1) : −ω (2) 0 + ω (2) 2 = 0 — Pour i = 2, Z 1 −1 P2(x)dx = Z 1 −1 x2dx = 2 3 et 2(ω(2)0 .P2(−1) + ω (2) 1 .P2(0) + ω (2) 2 .P2(1)) = 2(ω (2) 0 .(−1) 2+ ω(2) 1 .0 2+ ω(2) 2 .1 2) D’où (E2) : ω (2) 0 + ω (2) 2 = 1 3 Les coefficients cherchés sont forment donc la solution du système

(S) :      ω(2)0 + ω1(2) + ω(2)2 = 1 −ω(2)0 + ω(2)2 = 0 ω(2)0 + ω(2)2 = 1 3 ⇔ AX = B avec A =   1 1 1 −1 0 1 1 0 1  , B =   1 0 1 3   et X =    ω(2)0 ω(2)1 ω(2)2   

(7)

(b) (S) ⇐⇒   1 1 1 1 −1 0 1 0 1 0 1 13   ⇐⇒ L1 ← L1 − L3 L2 ← L2 + L3       0 1 0 23 0 0 2 1 3 1 0 1 1 3       ⇐⇒      ω1(2) = 2 3 2ω(2)2 = 1 3 ω0(2) + ω(2)2 = 1 3 ⇐⇒      ω1(2) = 23 2ω(2)2 = 13 ω0(2) + ω(2)2 = 13 ⇐⇒      ω1(2) = 23 ω2(2) = 16 ω0(2) = 13−1 6 = 1 6

On retrouve ici les poids de la méthode de Simpson : ω(2)0 = ω2(2)= 1 6 et ω (2) 1 = 2 3 (c) Soit P (x) = ax2+ bx + c un polynôme de degré 2. On a

Z 1 −1 P (x) = Z 1 −1 (ax2+ bx + c)dx =a Z 1 −1 P2(x)dx + b Z 1 −1 P1(x)dx + c Z 1 −1 P0(x)dx =a.2ω(2)0 .P2(−1) + ω (2) 1 .P2(0) + ω (2) 2 .P2(1)  + b.2ω(2)0 .P1(−1) + ω (2) 1 .P1(0) + ω (2) 2 .P1(1)  + c.2ω(2)0 .P0(−1) + ω (2) 1 .P0(0) + ω (2) 2 .P0(1)  =2.ω0(2).(aP2(−1) + bP1(−1) + cP0(−1)) + ω1(2).(aP2(0) + bP1(0) + cP0(0)) + ω2(2).(aP2(1) + bP1(1) + cP0(1))  =2.ω0(2)P (−1) + ω(2)1 P (0) + ω2(2)P (1)

(d) En posant t = h2x + a +h2, on a dt = h2. De plus, pour t = a, on a x = −1 et pour t = a + h, on a x = 1. D’où Z a+h a P (t)dt = Z 1 −1 P h 2x + a + h 2   h 2dx  Or l’expression h2x + a +h

2 étant linéaire en x, le polynôme P h

2x + a + h

2 est un polynôme de degré

2 en x. D’après la question précédente, on a donc Z a+h a P (t)dt = h 2.2  ω0(2)P h 2(−1) + a + h 2  + ω1(2)P h 2.0 + a + h 2  + ω2(2)P h 2.1 + a + h 2  = h 2.2  ω0(2)P (a) + ω1(2)P  a +h 2  + ω2(2)P (a + h) 

(8)

2. c.f. annexe 3 ci-dessous.

3. Pour obtenir une valeur approchée de l’intégrale I = Z b

a

f (x)dx, on peut interpoler la fonction f par un polynôme ou une famille de polynômes coïncidant avec f en une famille de points équi-répartis sur l’intervalle [a, b]. L’intégrale de chacun de ces polynômes dépend alors des poids ωi(p)associés au degré p choisi ainsi que des valeurs des polynômes aux points d’interpolation. Or ces valeurs sont, par définitions, les valeurs de f . On peut donc intégrer les polynômes interpolateurs en se basant uniquement sur les valeurs de la fonction f .

4. c.f. annexe 4 ci-dessous.

? ? ?

(9)

ANNEXE

1

Algorithme 1 # La fonction Fonction1 renvoie l’unique polynôme P # interpolateur de degré p dont la courbe passe par # les p+1 points définis par les abscisses de la # liste X et les ordonnées de la liste Y. # On pourrait la renommer Interpolation( X,Y) 1. def Fonction1(X,Y ): 2. p=len(X)-1 # p contient le degré du polynôme 3. if p <> len(Y)-1: 4. return "Erreur : taille des listes" # la fonction s’arrête si les deux listes n’ont pas la même taille 5. P(x)=0 6. for i in range(p+1): # Pou r chaque i, on construi re le polynôme de Lagra nge Li (x ) 7. Li(x)=1 # associé à la liste des abscisses 8. for j in range(p+1): 9. if i<>j: 10. Li(x) = Li( x)*(x-X[j])/(X[i]-X[j]) P(x) = P(x) + Y[i]*Li(x) # On construit le polynôm e P(x) en tenant compte des ordonnées de la liste Y 11. return P

(10)

ANNEXE

2

Algorithme 2 # La fonction Fonction2 renvoie une valeur approchée de # f(a), calcu lée par interpolation par morceaux par des # polynômes d e degré p fixé par l’utilisateur. # La fonction f est ici connue s ous la forme d’un nuage # de point défini par les listes X et Y et # le polynôme interpolateur est calculé # à l’aide de la fonction Fonction1. # Cette fonct ion peut être nommée Va leur_interpolee(X,Y,a,p). 1. def Fonction2(X,Y ,a,p): 2. if p>len(X)-1: # Il faut au moins p+1 points pou r interpoler le nuage 3. return "Trop peu de points pour le degré demandé" # à l’aide de polyn ômes de degré p 4. if a<X[0] o r a>X[-1]: # L’abscisse a doit être dans l’intervalle de me sure 5. return a," n ’est pas dans l’itervalle de mesures" 6. k=0 7. while X[k]<a: # On cherc he ici le premier point de mesure X[k] 8. k += 1 # d ont l’abscisse est supérieu re à a 9. if k>=p: # Si cette abscisse e st au delà de la p-ième, 10. P=Fonction1(X[k-p:k+ 1],Y[k-p:k+1]) # o n prend les p points précédents et X[k] pour interpoler. 11. else: # Sinon, on prend les p+1 premiers point s. 12. P=Fonction1(X[0:p+1] ,Y[0:p+1]) 13. return P(a) # On renvoie la valeur du polynôme au point a

(11)

ANNEXE

3

Algorithme 3 # La fonction Fonction3 calcule les p+1 poids permettant # de calculer l’intégrale de n’importe quel polynôme de # degré p à l’aide de p+1 valeur régulièrement réparties # sur l’inter valle d’intégration. # Cette fonct ion peut être nommée Po ids_quadrature(X,Y,a,p). 1. def Fonction3(p): # On découp e l’intervalle [-1,1] en p intervalles de même longeur 2. X=srange(-1,1+2/p, 2/p) # On constr uit la matrice A du système # linéaire donnant les poids cherchés. 3. Lignes_A = [] 4. for i in range(p+1): # Chaque ligne est ass ociée à 5. Ligne_i = [] # une fonction puis sance différente. 6. for j in range(p+1): # et contie nt les puissances i-èmes 7. Ligne_i.append(X[j]** i) # des abscisses de la liste X 8. Lignes_A.append(Lign e_i) 9. A = matrix( Lignes_A) # On constr uit le vecteur B, secon d membre du # système l inéaire donnant les poids cherchés. 10. Ligne_B=[] 11. for k in range(p+1): # Les coefficients de B sont les 12. Ligne_B.append((1/2) *(1/(k+1))*(1-(-1)**(k+1))) # intégrales des fonctions puissances 13. B = vector( Ligne_B) # sur l’intervalle [-1,1]. 14. Wp = A**(-1 )*B # On renvo ie la liste des poids sous la forme d’un ve cteur. 15. return Wp

(12)

ANNEXE

4

Algorithme 4.1 # La fonctio n Fonction41 est la fonc tion Newton_Cotes vue en TD. Elle approche l’intég rale de f sur [a,b] a l’aide # d’un polyn ôme de degré p. ATTENTIO N : le degré p est donné calculé ici à partir de la liste des poids donnée en argume nt. 1. def Fonction41(f ,a,b,Wp): 2. p=len(Wp)-1 # Le degré du p olynôme est le nombre d e poids moins 1. 2. S=0 3. h=(b-a)/p # Définition du pas d’interpolation. 4. for i in range(p+1): 5. xi=a+i*h # On définit le point d’interpolation. 6. S+=Wp[i]*f(xi) # On ajoute sa contribution à l’intégra le totale. 7. S=S*(b-a) 8. return S Algorithme 4.2 # La fonctio n Fonction42 est la fonc tion Newton_Cotes_compose vue en TD. Elle approche l’intégrale de f sur [ a,b] a l’aide # d’une fami lle de polynômes de degr é p déterminés à l’aide de la fonction précéde nte. 1. def Fonction42(f ,a,b,n,p): 2. Wp=Fontion3(p) # Les poids sont calculés à partir de la fonct ion Fonction3 3. h=(b-a)/n 4. X=srange(a,b+h,h) # Découpage de l’intervalle [a,b] en n intervalles de même longueur h 5. Ip=0 6. for k in range(n): # La valeur approchée Ip es t obtenue par n approxi mations 7. Ip += Foncti on41(f,X[k],X[k+1],Wp) # calculées à l’aide de la fonct ion Fonction41. 8. return Ip

Références

Documents relatifs

Vous numéroterez vos copies et ferez apparaître clairement sur la première page le nombre de copies.. Donner les coecients des polynômes

De plus ( x, y α ) est une famille libre car c’est une famille de vecteurs propres (non nuls) associés à des valeurs propres distinctes.. Elle est en

Déterminer les éléments propres des matrices suivantes (on les étudiera dans C et dans R lorsque cela a un sens)2. Montrer que A et B ont même rang, même trace, mêmes valeurs

Nous obtenons ainsi plusieurs formules explicites pour les coefficients bi- V^Va nomiaux généralisés associés aux polynômes de Jack. Ces expressions, au- paravant annoncées dans

Annales scientifiques de l’Université de Clermont-Ferrand 2, tome 89, série Mathéma- tiques, n o 23 (1986),

CHABERT, Les idéaux premiers de l’anneau des polynômes à valeurs entières, J. CHABERT, Anneaux de polynômes à valeurs entières et anneaux de

les polynômes de degré n), pour toute valuation essentielle de A dont le corps résiduel a un cardinal plus petit que n (en effet ces valuations sont en nombre

— Pour tout corps local K d'anneau de valuation A, Vanneau des polynômes à coefficients dans K qui, sur A, prennent leurs valeurs dans A, est un anneau de Fatou (donc