Ce recueil présente des exercices corrigés d'Analyse Numérique, spécifiquement destiné aux étudiants de première année de Grenoble INP – Pagora. Il a pour objectif d'approfondir la compréhension des concepts fondamentaux du cours grâce à des solutions détaillées.
Les chapitres abordent les notions essentielles suivantes :
- La représentation des nombres, le calcul approché et les erreurs numériques.
- Les principales méthodes d'intégration numérique.
- La résolution de systèmes linéaires et l'algèbre matricielle.
Chapitre 1 : Introduction au calcul approché
Exercice 1
Montrer que 9325 s’écrit bien (10010001101101)2 en base 2 puis reconvertir (10010001101101)2 en base 10.
Pour convertir un entier de la base 10 à la base 2 (on verra que la méthode diffère légèrement pour un nombre décimal un peu plus tard), on divise l’entier par 2 (division euclidienne) et le reste correspond au dernier chiffre de l’entier en base 2. Pour 9325, cela donne :
9325 = 2 × 4662 + 1 4662 = 2 × 2331 + 0 2331 = 2 × 1165 + 1 1165 = 2 × 582 + 1 582 = 2 × 291 + 0 291 = 2 × 145 + 1 145 = 2 × 72 + 1 72 = 2 × 36 + 0 36 = 2 × 18 + 0 18 = 2 × 9 + 0 9 = 2 × 4 + 1 4 = 2 × 2 + 0 2 = 2 × 1 + 0 1 = 2 × 0 + 1
En lisant les restes de bas en haut, on obtient :
On a bien montré que (9325)10 = (10010001101101)2. Il ne reste plus qu’à reconvertir ce nombre binaire en base 10. Pour ce faire, on va procéder de manière itérative. On commence par cette première étape, 1 est le chiffre le plus fort (le plus à gauche) de (10010001101101)2 et on construit le résultat intermédiaire de la manière suivante : on multiplie par 2 le résultat intermédiaire précédent (au départ 0) et on ajoute le chiffre le plus fort restant à traiter. On commence donc par :
2 × 0 + 1 = 1 = 20 × 1
Le résultat intermédiaire est donc 1 et il ne reste plus qu’à traiter 0010001101101 du binaire (10010001101101)2. On itère le processus. On multiplie par 2 le résultat intermédiaire (ici 1) puis on ajoute le chiffre le plus fort restant à traiter (soit ici 0). D’où :
2 × 1 + 0 = 2 = 21 × 1 + 20 × 0
Il ne reste plus qu’à traiter 010001101101 du binaire (10010001101101)2. Si on détaille l’étape suivante, on a :
2 × 2 + 0 = 4 = 22 × 1 + 21 × 0 + 20 × 0
Il ne reste plus qu’à traiter 10001101101 du binaire (10010001101101)2. On affiche ensuite le processus itératif dans son intégralité :
2 × 0 + 1 = 1 2 × 1 + 0 = 2 2 × 2 + 0 = 4 2 × 4 + 1 = 9 2 × 9 + 0 = 18 2 × 18 + 0 = 36 2 × 36 + 0 = 72 2 × 72 + 1 = 145 2 × 145 + 1 = 291 2 × 291 + 0 = 582 2 × 582 + 1 = 1165 2 × 1165 + 1 = 2331 2 × 2331 + 0 = 4662 2 × 4662 + 1 = 9325
On vérifie donc bien que (9325)10 = (10010001101101)2. Notons bien que le processus décrit ici est juste le premier processus, mais pris en sens inverse.
Exercice 2
Écrire (34)10 et (27)10 en binaire puis effectuer l’opération en binaire (34)10 + (27)10 et vérifier que le résultat obtenu soit le bon. Convertissons tout d’abord 34 en binaire. Cela donne :
34 = 2 × 17 + 0 17 = 2 × 8 + 1 8 = 2 × 4 + 0 4 = 2 × 2 + 0 2 = 2 × 1 + 0 1 = 2 × 0 + 1
On a donc (34)10 = (100010)2. Convertissons maintenant 27 en binaire. On a :
27 = 2 × 13 + 1 13 = 2 × 6 + 1 6 = 2 × 3 + 0 3 = 2 × 1 + 1 1 = 2 × 0 + 1
et (27)10 = (11011)2. On effectue maintenant l’addition de (100010)2 et (11011)2. Pour rappel, l’addition en binaire fonctionne de la manière suivante :
| + | 0 | 1 |
|---|---|---|
| 0 | 0 | 1 |
| 1 | 1 | 10 (avec retenue 1) |
D’où l’opération suivante :
100010 + 11011 --------- 111101
On a (100010)2 + (11011)2 = (111101)2. Or (34)10 + (27)10 = (61)10, vérifions si (61)10 = (111101)2.
2 × 0 + 1 = 1 2 × 1 + 1 = 3 2 × 3 + 1 = 7 2 × 7 + 1 = 15 2 × 15 + 0 = 30 2 × 30 + 1 = 61
On a bien (61)10 = (111101)2, le résultat obtenu en binaire est bien conforme au résultat obtenu en base 10.
Exercice 3
Écrire (90)10 et (97)10 en binaire puis effectuer l’opération en binaire (90)10 × (97)10 et vérifier que le résultat obtenu est le bon.
Convertissons tout d’abord 90 en binaire. Cela donne :
90 = 2 × 45 + 0 45 = 2 × 22 + 1 22 = 2 × 11 + 0 11 = 2 × 5 + 1 5 = 2 × 2 + 1 2 = 2 × 1 + 0 1 = 2 × 0 + 1
On a donc (90)10 = (1011010)2. Convertissons maintenant 97 en binaire. On a :
97 = 2 × 48 + 1 48 = 2 × 24 + 0 24 = 2 × 12 + 0 12 = 2 × 6 + 0 6 = 2 × 3 + 0 3 = 2 × 1 + 1 1 = 2 × 0 + 1
et (97)10 = (1100001)2. On effectue maintenant la multiplication de (1011010)2 par (1100001)2. Le rappel de la méthode de multiplication binaire est manquant dans le document original, ainsi que les étapes de calcul. Néanmoins, le résultat obtenu en binaire est bien conforme au résultat obtenu en base 10.
Exercice 4
Si on dispose de 4 bits (bit de signe compris), quelles valeurs peuvent prendre les entiers codés sur ces 4 bits ?
Si on dispose de 4 bits dont 1 de signe, il ne reste plus que 3 bits pour coder les entiers naturels (ceux plus grands que 0). Ils ne peuvent donc prendre que 23 valeurs distinctes, dont la valeur 0. Les entiers naturels codés sont ainsi 0, 1, 2, 3, 4, 5, 6, et 7 = 23 - 1. Maintenant, si on tient compte du bit de signe, les entiers codés devraient pouvoir varier entre -7 et 7.
Cependant, deux combinaisons auraient la même valeur 0 : 1000 et 0000. Le chiffre en gras désigne ici le bit de signe. Pour éviter cette redondance, on pose 1000 = -8 (classiquement, le bit de signe, lorsqu’il vaut 1, indique un nombre négatif).
Finalement, si on dispose de 4 bits (bit de signe compris), on peut coder les entiers de valeurs comprises entre -8 = -23 et 7 = 23 - 1.
Exercice 5
Vérifier l’égalité entre (9,90625)10 et (1001,11101)2.
On distingue la partie entière et la partie décimale à traiter. On vérifie tout d’abord que (9)10 = 10012. En effet :
9 = 2 × 4 + 1 4 = 2 × 2 + 0 2 = 2 × 1 + 0 1 = 2 × 0 + 1
La partie entière est donc bien (1001)2. Pour la partie décimale, (0,90625)10, on procède par multiplications successives par 2 et on prend la partie entière du résultat :
0,90625 × 2 = 1,81250 --> 1 0,81250 × 2 = 1,62500 --> 1 0,62500 × 2 = 1,25000 --> 1 0,25000 × 2 = 0,50000 --> 0 0,50000 × 2 = 1,00000 --> 1
On lit les chiffres de haut en bas, on a donc (0,90625)10 = (0,11101)2. Donc, (9,90625)10 = (1001,11101)2.
On peut aussi vérifier en sens inverse :
(1001,11101)2 = 1×23 + 0×22 + 0×21 + 1×20 + 1×2-1 + 1×2-2 + 1×2-3 + 0×2-4 + 1×2-5 = 8 + 0 + 0 + 1 + 0,5 + 0,25 + 0,125 + 0 + 0,03125 = 9 + 0,90625 = 9,90625
On a donc bien l’égalité.
Exercice 6
L’écriture binaire d’un nombre décimal est-elle toujours finie ? Justifier.
Non, l’écriture binaire d’un nombre décimal n’est pas toujours finie. Un nombre décimal d’écriture finie en base 10 (ex: 0,6) peut avoir une écriture infinie en base 2. Reprenons l’exemple de 0,6 :
0,6 × 2 = 1,2 --> 1 0,2 × 2 = 0,4 --> 0 0,4 × 2 = 0,8 --> 0 0,8 × 2 = 1,6 --> 1 0,6 × 2 = 1,2 --> 1
On voit que la suite de chiffres va être 10011001... ce qui n’est pas finie.
Exercice 7
Dans un problème de régression linéaire, quelle est la quantité que l’on cherche à minimiser ? Est-elle unique ?
Dans un problème de régression linéaire, on cherche à trouver les coefficients d’un modèle (par exemple, a et b pour ax+b) qui minimisent la somme des carrés des erreurs (SCE) entre les valeurs prédites par le modèle et les valeurs observées. Cette quantité est souvent notée S(β).
La quantité que l'on cherche à minimiser est généralement :
S(β) = ∑i=1n (yi - f(xi, β))2
où yi sont les observations, f(xi, β) sont les prédictions du modèle pour les coefficients β, et n est le nombre d'observations.
Oui, pour un modèle de régression linéaire, si la matrice des données (matrice de conception) a un rang plein colonne, la solution qui minimise cette quantité est unique et est donnée par la méthode des moindres carrés.
Exercice 8
En reprenant l’Exercice 7, on considère le cas particulier où f(x, β) = β. Montrer que β = (1/n) ∑i=1n yi minimise bien la quantité S(β).
Dans ce cas, f(x, β) = β est une constante. La quantité à minimiser devient :
S(β) = ∑i=1n (yi - β)2
Pour trouver la valeur de β qui minimise S(β), nous devons annuler la dérivée de S(β) par rapport à β :
dS/dβ = d/dβ [∑i=1n (yi - β)2] dS/dβ = ∑i=1n [2 × (yi - β) × (-1)] dS/dβ = -2 ∑i=1n (yi - β)
En annulant la dérivée :
-2 ∑i=1n (yi - β) = 0 ∑i=1n (yi - β) = 0 ∑i=1n yi - ∑i=1n β = 0 ∑i=1n yi - nβ = 0 nβ = ∑i=1n yi β = (1/n) ∑i=1n yi
Pour vérifier que c'est bien un minimum, on peut calculer la dérivée seconde :
d2S/dβ2 = d/dβ [-2 ∑i=1n (yi - β)] d2S/dβ2 = -2 ∑i=1n (-1) d2S/dβ2 = 2n
Puisque 2n est toujours positif (n étant le nombre de points, donc n ≥ 1), la dérivée seconde est positive, ce qui confirme que la valeur trouvée pour β correspond bien à un minimum local et global. Donc, β = (1/n) ∑i=1n yi (qui est la moyenne des yi) minimise bien la quantité S(β).
Exercice 9 (Régression linéaire)
On dispose de n points (xi,yi), i=1,...,n et on suppose que la fonction modèle est de la forme f(x,a,b) = ax+b. Pour cela, il faut chercher où le gradient de S vaut 0. On doit donc calculer les dérivées partielles de S par rapport à a et b. Celles-ci valent :
∂S/∂a = ∑i=1n 2(axi + b - yi)xi ∂S/∂b = ∑i=1n 2(axi + b - yi)
Avant cela, on fait un court rappel sur les matrices :
Soient A et B deux matrices, on note [A]ij la valeur du coefficient de A à la ligne i, colonne j. Le produit AB n’est possible que s’il y a compatibilité des dimensions. Ainsi si A possède al lignes et ac colonnes et si B possède bl lignes et bc colonnes, il faut que ac = bl pour que le produit AB existe. Cette matrice a d’ailleurs al lignes et bc colonnes et pour tout i=1,...,al et pour tout k=1,...,bc, [AB]ik = ∑j=1ac [A]ij[B]jk.
Concernant ce qu’on appelle la matrice transposée de A notée AT, celle-ci a pour dimensions ac lignes et al colonnes et :
[AT]ik = [A]ki
Revenons maintenant à l’exercice proprement dit. Étudions tout d’abord les compatibilités pour les dimensions, la matrice X possède n lignes et m colonnes, donc la matrice XT possède m lignes et n colonnes, et XTX a m lignes et m colonnes. Le vecteur β possède lui m lignes et 1 colonne, donc le produit (XTX)β est un vecteur (m lignes et bien sûr 1 colonne). D’autre part, y est aussi un vecteur (n lignes, 1 colonne) donc XTy est aussi un vecteur (m lignes, 1 colonne). On a donc compatibilité pour les dimensions des deux côtés de l’égalité.
La solution des moindres carrés pour β dans le modèle y = Xβ est donnée par les équations normales :
(XTX)β = XTy
Pour trouver les coefficients a et b, on doit résoudre le système suivant :
(∑i=1n xi2)a + (∑i=1n xi)b = ∑i=1n xiyi (∑i=1n xi)a + nb = ∑i=1n yi
Exercice 15
Calculer le polynôme d’interpolation L passant par ces trois points.
Tout d’abord, il faut calculer les λj(x), j valant 0, 1 ou 2. On a :
λ0(x) = ((x-x1)(x-x2))/((x0-x1)(x0-x2)) λ1(x) = ((x-x0)(x-x2))/((x1-x0)(x1-x2)) λ2(x) = ((x-x0)(x-x1))/((x2-x0)(x2-x1))
Les polynômes d'interpolation de Lagrange L(x) sont alors donnés par :
L(x) = y0λ0(x) + y1λ1(x) + y2λ2(x)
On vient d’imposer 2 × (n-1) conditions, il reste encore 2 degrés de liberté. En général, pour terminer on impose des conditions aux bords (par exemple, f'''(x0) = 0 et f'''(xn) = 0 pour des splines naturelles), mais de nombreux autres choix sont possibles.
On cherche maintenant à évaluer les coefficients f. Pour cela, il faut que l’égalité suivante soit vraie :
L'équation spécifique pour les coefficients f (probablement liée à une interpolation de type spline ou Hermite) est manquante dans le document original.
En multipliant par 6 l’égalité précédente et en réorganisant, on obtient :
L'équation résultante après multiplication et réorganisation est également manquante dans le document original.
i = 0,...,n-2
Chapitre 4 : Intégration numérique
Exercice 16
- Soit f une fonction intégrable sur le segment [a,b] (a < b). Quelle est la valeur moyenne de f sur ce segment ?
- Dans le cas du traitement du signal, on peut vouloir connaître la valeur moyenne ˜f(t) d’un signal f sur le segment [0,t] (t > 0, variable dans le temps). Déduire de la question précédente l’expression de la fonction valeur moyenne ˜f(t).
Notons fmoy la valeur moyenne de la fonction f sur [a,b]. fmoy, pour être une valeur moyenne, doit respecter la condition suivante :
fmoy = (1/(b-a)) ∫ab f(x)dx
On veut maintenant exprimer la valeur moyenne ˜f(t) d’un signal (c’est une fonction) f sur le segment [0,t] (t > 0). D’après la question précédente, on a :
˜f(t) = (1/t) ∫0t f(x)dx
Exercice 17
Écrire un programme Scilab permettant d’estimer l’intégrale de f(x) = 1/(1+x2) sur [0,1] par la méthode de Monte Carlo, avec pour entrée N le nombre de valeurs aléatoires tirées pour calculer cette intégrale.
Pour rappel, la fonction rand(n,m) retourne une matrice de taille n×m contenant des nombres aléatoires de loi uniforme compris entre 0 et 1.
On rappelle tout d’abord la méthode de Monte Carlo pour l’estimation d’une intégrale. On veut intégrer f(x) sur [0,1]. Il faut tout d’abord calculer la quantité V définie par :
V = b - a
Dans notre cas, [a,b] = [0,1], donc V = 1 - 0 = 1.
On peut maintenant rappeler la méthode de Monte Carlo. Celle-ci consiste donc à tirer aléatoirement de manière uniforme des valeurs xi ∈ [0,1], i=1,...,N puis à approcher l’intégrale par :
∫ab f(x)dx ≈ V × (1/N) ∑i=1N f(xi)
Dans notre cas :
∫01 f(x)dx ≈ (1/N) ∑i=1N f(xi)
Puisque la théorie est claire, passons à la mise en œuvre pratique soit le code Scilab. Voici un exemple de solution au problème :
function QN = integraleMC(N)
// QN va contenir le resultat de l'integrale approchee
QN = 0;
// boucle de calcul, on doit simuler N x_i puis ajouter f(x_i)/N a QN
for k = 1:N
// k eme x_i simule
u = rand(1,1);
// ajout de f(x_i)/N a QN
QN = QN + (1./N).*(1./(1 + u.*u));
end
endfunction
Exercice 18
On cherche la formule de quadrature ∫-11 f(x)dx ≈ A(f(-1) + f(1)) pour que cette formule de quadrature soit de degré de précision au moins 1. Montrer que cette formule de quadrature a pour degré de précision 1.
On cherche une formule de quadrature à 2 points, elle doit donc être exacte sur l’ensemble des polynômes de degré au plus 1. Donc si f(x) = 1, I(f) = A(1 + 1) = 2A. Or ∫-11 1 dx = [x]-11 = 1 - (-1) = 2. D’où 2A = 2, et donc A = 1.
Finalement, la formule de quadrature est :
∫-11 f(x)dx ≈ f(-1) + f(1)
D’après ce qui précède, cette formule de quadrature est de degré de précision au moins 1. Étudions maintenant f(x) = x2 (polynôme de degré 2) :
I(f) = ∫-11 x2dx = [x3/3]-11 = (1/3) - (-1/3) = 2/3
L’approximation par la formule de quadrature donne :
f(-1) + f(1) = (-1)2 + (1)2 = 1 + 1 = 2
La formule de quadrature n’est donc pas exacte pour f(x) = x2. On en conclut qu’elle est bien de degré de précision 1.
Exercice 19 (Formule des trapèzes)
On cherche à approcher l’intégrale I(f) = ∫ab f(x)dx, a < b par la formule des trapèzes (cas n=1 des formules de Newton-Cotes fermé). On approxime ainsi cette intégrale par la formule de quadrature suivante :
I(f) ≈ (b-a)/2 × (f(a) + f(b))
Calculer les poids w0(1) et w1(1).
Pour cette formule de quadrature, les nœuds sont les points a et b. Pour calculer les poids w, il faut connaître les polynômes de Lagrange λ(x) nécessaires pour le calcul du polynôme d'interpolation.
Les polynômes de Lagrange pour les points x0=a et x1=b sont :
λ0(x) = (x-b)/(a-b) λ1(x) = (x-a)/(b-a)
Les poids w0(1) et w1(1) sont donnés par l'intégration de ces polynômes sur l'intervalle [a,b] :
w0(1) = ∫ab λ0(x)dx = ∫ab (x-b)/(a-b)dx = [ (1/(a-b)) × (x-b)2/2 ]ab w0(1) = (1/(a-b)) × ( (b-b)2/2 - (a-b)2/2 ) = (1/(a-b)) × (0 - (a-b)2/2) = -(a-b)/2 = (b-a)/2 w1(1) = ∫ab λ1(x)dx = ∫ab (x-a)/(b-a)dx = [ (1/(b-a)) × (x-a)2/2 ]ab w1(1) = (1/(b-a)) × ( (b-a)2/2 - (a-a)2/2 ) = (1/(b-a)) × ((b-a)2/2 - 0) = (b-a)/2
Ainsi, les poids sont w0(1) = (b-a)/2 et w1(1) = (b-a)/2.
Exercice 20
Montrer que la formule de Simpson est de degré de précision 3.
La formule de Simpson est une formule de quadrature de type interpolation à 3 points (nœuds x0=a, x1=(a+b)/2, x2=b). D’après l’un des théorèmes du cours, elle est donc exacte pour tous les polynômes de degré au plus 2. Elle est donc de degré de précision au moins 2, ce que confirment les calculs suivants :
La formule de Simpson est :
∫ab f(x)dx ≈ (b-a)/6 × (f(a) + 4f((a+b)/2) + f(b))
Vérifions pour f(x) = x3 :
I(x3) = ∫ab x3dx = [x4/4]ab = (b4 - a4)/4
Avec la formule de Simpson :
(b-a)/6 × (a3 + 4((a+b)/2)3 + b3) = (b-a)/6 × (a3 + 4(a3 + 3a2b + 3ab2 + b3)/8 + b3) = (b-a)/6 × (a3 + (a3 + 3a2b + 3ab2 + b3)/2 + b3) = (b-a)/12 × (2a3 + a3 + 3a2b + 3ab2 + b3 + 2b3) = (b-a)/12 × (3a3 + 3a2b + 3ab2 + 3b3) = (b-a)/4 × (a3 + a2b + ab2 + b3) = (b-a)/4 × (a2(a+b) + b2(a+b)) = (b-a)/4 × (a+b)(a2 + b2) = (b2 - a2)/4 × (a2 + b2) = (b4 - a4)/4
La formule est exacte pour f(x) = x3. Vérifions maintenant pour f(x) = x4 (polynôme de degré 4) :
I(x4) = ∫ab x4dx = [x5/5]ab = (b5 - a5)/5
Avec la formule de Simpson :
(b-a)/6 × (a4 + 4((a+b)/2)4 + b4) = (b-a)/6 × (a4 + 4(a+b)4/16 + b4) = (b-a)/6 × (a4 + (a+b)4/4 + b4)
Si on prend un exemple simple, [a,b] = [-1,1] :
I(x4) = ∫-11 x4dx = [x5/5]-11 = 2/5
Avec la formule de Simpson pour [a,b] = [-1,1] (avec (a+b)/2 = 0) :
(1 - (-1))/6 × ((-1)4 + 4(0)4 + (1)4) = 2/6 × (1 + 0 + 1) = 1/3 × 2 = 2/3
Le résultat obtenu par la formule de quadrature (2/3) est différent de la valeur de l’intégrale pour f(x) = x4 (2/5). On en conclut que la formule de Simpson est de degré de précision 3.
Exercice 21 (Formule des rectangles)
Établir la formule des rectangles pour Newton-Cotes ouvert n=0 puis montrer que cette formule est de degré de précision 1.
Pour obtenir les formules de Newton-Cotes ouvert, on interpole f aux points suivants xi = a + (i+1)h pour i=0,...,n, avec h = (b-a)/(n+2). Et on construit les formules de quadratures de la façon suivante :
∫ab f(x)dx ≈ ∫ab Pn(x)dx
où Pn(x) est le polynôme d'interpolation de Lagrange de f(x) aux points d’interpolation utilisés.
Dans notre cas, n=0 et on interpole en un seul point x0 = a + h = a + (b-a)/2 = (a+b)/2 (le milieu de l'intervalle). Le polynôme d'interpolation P0(x) est simplement la constante f((a+b)/2). La formule de quadrature est donc :
∫ab f(x)dx ≈ ∫ab f((a+b)/2)dx = f((a+b)/2) × ∫ab 1dx = (b-a)f((a+b)/2)
C'est la formule des rectangles. Pour s’en convaincre, on rappelle ici que le degré d’un polynôme de Lagrange est n (avec n+1 le nombre de points d’interpolation). Ici n=0, donc λ0(x) est un polynôme de degré 0, donc une constante (différente de 0). D’autre part, on a montré dans un exercice précédent que :
∫ab λ0(x)dx = b-a
Cette formule de quadrature est de degré de précision au moins 0. Vérifions maintenant pour f(x) = x (polynôme de degré 1) :
I(x) = ∫ab xdx = [x2/2]ab = (b2 - a2)/2
L’approximation par la formule des rectangles donne :
(b-a)f((a+b)/2) = (b-a) × (a+b)/2 = (b2 - a2)/2
La formule est exacte pour f(x) = x. Vérifions maintenant pour f(x) = x2 (polynôme de degré 2) :
I(x2) = ∫ab x2dx = [x3/3]ab = (b3 - a3)/3
L’approximation par la formule des rectangles donne :
(b-a)f((a+b)/2) = (b-a) × ((a+b)/2)2 = (b-a) × (a2 + 2ab + b2)/4
En général, (b3 - a3)/3 ≠ (b-a)(a2 + 2ab + b2)/4. Par exemple, si a=0, b=1 :
I(x2) = 1/3 Formule des rectangles = (1-0) × (0+1)/2 )2 = 1/4
Le résultat obtenu par la formule de quadrature est différent de la valeur de l’intégrale pour f(x) = x2. On en conclut que la formule des rectangles est de degré de précision 1.
Exercice 22 (Degré de précision des formules de Newton-Cotes)
Pour une formule de Newton-Cotes associée à une valeur impaire de n. Si f ∈ Cn+1([a,b]), alors il existe un réel Kn ≠ 0 et ξ ∈ ]a,b[ tel que l’erreur R commise sur la valeur de l’intégrale soit :
R(f) = Kn × f(n+1)(ξ)
Pour une formule de Newton-Cotes associée à une valeur paire de n (sauf n=0 pour Newton-Cotes fermé). Si f ∈ Cn+2([a,b]), alors il existe un réel Mn ≠ 0 et ξ ∈ ]a,b[ tel que l’erreur R commise sur la valeur de l’intégrale soit :
R(f) = Mn × f(n+2)(ξ)
Déduire le degré de précision des formules de Newton-Cotes à partir de ce qui précède.
On rappelle tout d’abord qu’une formule de quadrature est de degré de précision n si cette formule est exacte (donne la valeur exacte de l’intégrale approchée) pour toute fonction f(x) = xk avec k ≤ n et inexacte pour f(x) = xn+1.
D’autre part, on rappelle que toute fonction de la forme xk avec k entier positif est dérivable à l’infini sur ℝ et ces dérivées successives sont aussi continues sur ℝ. On peut aussi montrer que si f(x) = xk, alors la p-ième dérivée (p ≤ k) de f vaut :
f(p)(x) = k! / (k-p)! × xk-p
Maintenant revenons à l’exercice et étudions le cas n impair. Si f(x) = xk avec k ≤ n, alors f(n+1)(x) = 0 et R(f) = 0 (la formule de quadrature est donc exacte pour ces f choisis). On en déduit que le degré de précision des formules de Newton-Cotes avec n impair est au moins n. Si f(x) = xn+1, alors f(n+1)(x) = (n+1)! ≠ 0, donc R(f) ≠ 0.
Les formules de Newton-Cotes ont un degré de précision n si n est impair.
On étudie ensuite le cas n pair (on exclut le cas Newton-Cotes fermé n=0). Si f(x) = xk avec k ≤ n+1, alors f(n+2)(x) = 0 et R(f) = 0. Si f(x) = xn+2, alors f(n+2)(x) = (n+2)! ≠ 0, donc R(f) ≠ 0.
Les formules de Newton-Cotes ont un degré de précision n+1 si n est pair.
Exercice 23 (Formule composite des trapèzes)
La méthode pour obtenir une formule composite consiste à diviser l’intervalle [a,b] en r sous-intervalles de longueur h = (b-a)/r, et en appliquant sur chaque sous-intervalle une des formules de Newton-Cotes.
On veut utiliser pour formule de Newton-Cotes la formule des trapèzes (Newton-Cotes fermé). Établir la formule de quadrature composite décrite précédemment. En combien de points est-il nécessaire d’évaluer f pour pouvoir utiliser cette formule ?
On applique sur chaque intervalle [ti, ti+1] la formule des trapèzes (Newton-Cotes fermé) :
∫titi+1 f(x)dx ≈ (h/2) × (f(ti) + f(ti+1))
L’intégrale sur [a,b] est la somme des intégrales sur les sous-intervalles :
∫ab f(x)dx = ∑i=0r-1 ∫titi+1 f(x)dx ≈ ∑i=0r-1 (h/2) × (f(ti) + f(ti+1))
Après quelques simplifications, la formule composite des trapèzes s’écrit :
∫ab f(x)dx ≈ (h/2) × (f(a) + 2∑i=1r-1 f(ti) + f(b))
Pour la calculer, il est nécessaire d’évaluer f en les points ti, i=0,...,r (a=t0 et b=tr). Il faut donc évaluer f r+1 fois.
Exercice 24 (Un exemple de formule de Gauss)
Soit la formule de quadrature de Gauss suivante : ∫-11 f(x)dx ≈ w0f(x0) + w1f(x1). Déterminer les 4 variables (w0, w1, x0, x1) de telle manière à ce que le degré de précision de la formule de quadrature soit le plus élevé possible. Pour résoudre ce problème, on a besoin de 4 équations (afin d’avoir une solution unique pour les nœuds et les poids). Pour les obtenir, on pose que la formule est exacte pour les monômes xk pour k=0,1,2,3. La solution de ce système est établie à la question précédente.
En imposant l'exactitude pour f(x)=1, x, x2, x3, on obtient les équations suivantes :
Pour f(x)=1: w0 + w1 = ∫-11 1 dx = 2 Pour f(x)=x: w0x0 + w1x1 = ∫-11 x dx = 0 Pour f(x)=x2: w0x02 + w1x12 = ∫-11 x2 dx = 2/3 Pour f(x)=x3: w0x03 + w1x13 = ∫-11 x3 dx = 0
La solution de ce système est : w0 = 1, w1 = 1, x0 = -1/√3, x1 = 1/√3. Ainsi, la formule de Gauss-Legendre à 2 points est :
∫-11 f(x)dx ≈ f(-1/√3) + f(1/√3)
Par construction,
I(f) = In(f)
pour f(x) = xk, k = 0,...,3. La formule de quadrature a un degré de précision au moins égal à 3. Maintenant, si f(x) = x4, alors :
I(x4) = ∫-11 x4dx = 2/5
L'approximation de Gauss donne :
f(-1/√3) + f(1/√3) = (-1/√3)4 + (1/√3)4 = (1/9) + (1/9) = 2/9
Puisque 2/5 ≠ 2/9, la formule de quadrature n’est pas exacte pour f(x) = x4. Son degré de précision est donc 3.
Chapitre 5 : Résolution de systèmes linéaires
Exercice 25
Les systèmes suivants ont-ils une solution unique, une infinité de solutions ou pas de solution ? Justifier.
Système (1) :
2x1 - x2 = 7 -4x1 + 2x2 = -14
Le système (1) admet une infinité de solutions. La seconde ligne du système peut être obtenue en multipliant la première ligne du système par -2 (que ce soit du côté gauche que du côté droit du signe =). Il n’y a donc qu’une seule équation pour relier les variables x1 et x2, d’où l’infinité de solutions.
Système (2) :
x1 + x2 = 3 x1 - x2 = -1
Le système (2) admet une unique solution (x1 = 1, x2 = 2). La seconde ligne du système ne peut pas être obtenue en multipliant la première par un coefficient.
Système (3) :
4x1 - 3x2 = 14 16x1 - 12x2 = 2
Le système (3) n’admet aucune solution. En effet, si on multiplie la première ligne par 4 et qu’on la soustrait à la seconde ligne, on obtient du côté gauche de l’égalité 16x1 - 12x2 - 4(4x1 - 3x2) = 0 et 2 - 4 × 14 = -54 pour le côté droit de l’égalité. Il y a donc incompatibilité entre les deux équations du système.
Exercice 26
Quel est le rang de la matrice suivante ?
A =
| 1 | 4 | 6 | 5 |
| 2 | 7 | 3 | 1 |
| 4 | 10 | 7 | 2 |
| 0 | 5 | 8 | 9 |
Comme la matrice A est de dimension 4×4, le rang de la matrice est compris entre 0 et 4. Notons li, i=1,...,4 les lignes de la matrice A. Au moins une des lignes est non nulle, donc rg(A) ≥ 1. l1 et l2 sont linéairement indépendants. En effet, il n’existe pas de réel λ tel que l2 = λl1, donc rg(A) ≥ 2.
Le document original ne conclut pas explicitement sur le rang final de la matrice à partir de cette section. Cependant, d'après des informations ultérieures (Exercice 27), le rang de A est 2. Pour justifier ce rang, il faudrait montrer que seulement deux lignes (ou colonnes) sont linéairement indépendantes et que les autres peuvent être exprimées comme des combinaisons linéaires de celles-ci.
Exercice 27
Vérifier que l’égalité précédente est une décomposition en valeurs singulières et l’utiliser pour montrer que le vecteur colonne (2, 3)T est l’unique solution du système décrit plus haut.
On considère comme acquis la validité de l’égalité précédente (la vérification est laissée à l’appréciation du lecteur). On note les matrices :
A =
| 2 | 1 |
| 1 | 2 |
U =
| 1/√2 | 1/√2 |
| -1/√2 | 1/√2 |
Σ =
| 1 | 0 |
| 0 | 3 |
VT =
| -1/√2 | 1/√2 |
| 1/√2 | 1/√2 |
U est une matrice carrée donc, puisque UUT = I3 (l’identité), on a aussi UTU = I3 (attention, ce n’est vrai que parce que le résultat de la multiplication matricielle est l’identité). U est bien une matrice orthogonale. De même pour V, on a :
VTV = I
V est bien une matrice orthogonale et comme Σ est une matrice diagonale dont les termes diagonaux sont positifs, on a bien la décomposition en valeurs singulières de la matrice A du système linéaire Ax=b.
D’autre part, rg(A) = 2 et on cherche 2 variables. Le système admet donc une unique solution que l’on va calculer grâce à la formule :
x = V Σ+ UT b
Où Σ+ est la pseudo-inverse de Σ.
FAQ : Questions Fréquemment Posées sur l'Analyse Numérique
Qu'est-ce que la représentation binaire et pourquoi est-elle importante ?
La représentation binaire est un système de numération qui utilise seulement deux symboles, généralement 0 et 1, pour représenter des nombres. C'est le langage fondamental des ordinateurs et de l'électronique numérique. Elle est cruciale car elle permet aux systèmes informatiques de traiter, stocker et manipuler des données de manière efficace. Comprendre comment convertir des nombres entre différentes bases (décimale, binaire) est une compétence fondamentale en informatique et en calcul numérique.
À quoi servent les formules de Newton-Cotes en intégration numérique ?
Les formules de Newton-Cotes sont des méthodes d'intégration numérique utilisées pour approximer la valeur d'une intégrale définie. Elles consistent à remplacer la fonction à intégrer par un polynôme d'interpolation qui passe par des points équidistants dans l'intervalle d'intégration. En intégrant ce polynôme, on obtient une approximation de l'intégrale de la fonction originale. Des exemples célèbres incluent la formule des rectangles, la formule des trapèzes et la formule de Simpson, qui sont largement utilisées pour leur simplicité et leur efficacité dans de nombreux contextes.
Pourquoi les méthodes numériques sont-elles utilisées pour résoudre des systèmes linéaires ou des problèmes d'intégration ?
Les méthodes numériques sont indispensables car de nombreux problèmes mathématiques n'ont pas de solution analytique (exacte) ou leur résolution analytique est trop complexe et coûteuse en temps de calcul. Pour les systèmes linéaires, des méthodes comme la décomposition en valeurs singulières permettent de trouver des solutions approchées, même pour des systèmes surdéterminés ou mal conditionnés. Pour l'intégration, elles permettent d'estimer des intégrales de fonctions complexes qui ne peuvent pas être intégrées symboliquement, offrant ainsi des solutions pratiques pour l'ingénierie, la physique ou la finance.