0% ont trouvé ce document utile (0 vote)
43 vues6 pages

Tp2 Solution

Ce document présente un TP sur le calcul d'intégrales par les méthodes numériques Trapèze et Simpson en utilisant Matlab. Les étudiants doivent développer des programmes pour ces méthodes, comparer les résultats obtenus et analyser l'impact du pas h sur la précision des calculs. Les conclusions soulignent l'importance du choix des paramètres pour obtenir des résultats précis dans les intégrations numériques.

Transféré par

sebahmechri3
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
43 vues6 pages

Tp2 Solution

Ce document présente un TP sur le calcul d'intégrales par les méthodes numériques Trapèze et Simpson en utilisant Matlab. Les étudiants doivent développer des programmes pour ces méthodes, comparer les résultats obtenus et analyser l'impact du pas h sur la précision des calculs. Les conclusions soulignent l'importance du choix des paramètres pour obtenir des résultats précis dans les intégrations numériques.

Transféré par

sebahmechri3
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

1

Centre Universitaire Nour Bachir d’El-Bayadh


Département de Génie électrique
1M ETT Energie Renouvelable et 1M ETT Machines électriques

TP: 02
Méthodes numériques appliquées et optimisation
Calcul d’Intégrales par les méthodes Trapèze, Simpson

1. But du TP
• Développer des programmes en Matlab qui permettent de calculer les intégrales par les
méthodes numériques Trapèze et Simpson.
• Comparer les résultats obtenus par les deux méthodes.
• Utiliser les commandes Matlab exécutables qui donnent directement le calcul des intégrales
bornées.

[Link]́riels utilisés
• Micro-ordinateur/ windows XP
• Matlab version 2016/2019

[Link] demander
Calcul approché de l’intégrale en utilisant les méthodes numériques Trapèze et Simpson:
Z b
I= f (x) dx, f (x) = x.∧ 4 − 2 ∗ x.∧ 2 + 3 ∗ x + 1
a

3.1. Méthode des Trapèzes


♣ Commencez par lancer l’interface graphique de Matlab.
♣ Ouvrir un fichier script.
♣ Enregistrer le fichier sous le nom trapeze.m.
♣ Taper : function T = trapeze(f, a, b, h)
♣ Initialisation : T = 0
♣ Introduire une boucle for i=1:n-1 pour calculer la somme des f (i) (i = 1 jusqu’à n-1, n
étant le nombre de sous-intervalles).
♣ Introduire l’expression mathématique de la méthode des trapèzes:
h
T = (feval(f, a) + feval(f, b)) + h × T.
2
♣ Quelle est le rôle de la commande feval ?
♣ Introduire l’équation mathématique qui permet de calculer l’erreur e.
♣ Exécuter le programme function T = trapeze(f, a, b, h).
♣ Déclarer la fonction f (x), poser a = 0, b = 3, et le pas h = 0.25.

3.2 Taper le script suivant dans le Workspace


>> x = 0:0.25:3;
>> f = x.^4 - 2*x.^2 + 3*x + 1;
>> d = trapz(x, f)

♣ Comparer les résultats du programme dans la section 3.1 avec ceux de la section 3.2.
♣ Quelle est la remarque à tirer ?
2

3.3 Méthode de Simpson


♣ Développer un programme Matlab qui calcule l’intégrale I(f ) par la méthode de Simpson
1/3.
♣ Poser a = 0, b = 3, et le pas h = 0.25.
♣ Comparer ces résultats avec ceux obtenus précédemment.

3.4 Taper dans le Workspace


♣ Utiliser la syntaxe de la commande quad en consultant l’aide de Matlab.
♣ Comparer les résultats obtenus avec le programme Simpson et ceux de la commande quad.

3.5 Changer le pas h


♣ Changer le pas h (h = 0.5, h = 1) et observer les changements.
♣ Quelle remarque pouvez-vous tirer ?

[Link]
R1
Calculer l’intégrale suivante :I = 0 (x2 + 1) dxà l’aide des deux méthodes numériques (Trapèze
et Simpson) en utilisant le langage Matlab.
3

0.1 Solution
L’intégrale que nous devons approcher est :
Z 3
x4 − 2x2 + 3x + 1 dx

I=
0

Méthode des Trapèzes


La formule de la méthode des trapèzes est donnée par :
n−1
h X
T = (f (a) + f (b)) + h f (a + i · h)
2 i=1

Le script MATLAB correspondant est le suivant :


1 function T = trapeze (f , a , b , h )
2 n = (b - a) / h;
3 T = 0;
4 for i = 1: n -1
5 x = a + i*h;
6 T = T + feval (f , x ) ;
7 end
8 T = h / 2 * ( feval (f , a ) + feval (f , b ) ) + h * T ;
9 end

Le script est ensuite exécuté avec les paramètres suivants :


1 f = @ ( x ) x .^4 - 2* x .^2 + 3* x + 1;
2 a = 0;
3 b = 3;
4 h = 0.25;
5 T = trapeze (f , a , b , h )

Le résultat obtenu est :


T = 47.5996

♣ Utilisation principale de feval :


Évaluer une fonction spécifiée par une variable : Plutôt que d’appeler une fonction
directement, on peut passer son nom (ou son handle) à feval pour l’exécuter. C’est
utile lorsqu’on souhaite définir une fonction à utiliser dynamiquement.
♣ Taper le script suivant dans le Workspace
1 >> x = 0:0.25:3;
2 >> f = x .^4 - 2* x .^2 + 3* x + 1;
3 >> d = trapz (x , f )

Le résultat obtenu est :


T = 47.5996
♣ Quelle est la remarque à tirer ? :
Comparaison : Les résultats obtenus via le programme que nous avons écrit manuelle-
ment dans la section 2.1 devraient identiques, à ceux obtenus via la fonction MAT-
LAB trapz dans la section 2.2, car les deux utilisent la méthode des trapèzes pour
l’intégration.

♣Remarque : les résultats sont identiques, la conclusion est que la fonction MAT-
LAB trapz est un outil pratique pour appliquer la méthode des trapèzes sans avoir
besoin d’écrire manuellement le code. La fonction intégrée trapz est également
4

plus efficace, car elle est optimisée pour exécuter les calculs plus rapidement, alors
que le code manuel peut nécessiter des calculs supplémentaires ou prendre plus de
temps. rique ou à des erreurs d’arrondi dans les calculs manuels.
error
1 f_prime2 = @ ( x ) 12* x .^2 - 4;
2
3 a = 0; % Lower limit
4 b = 3; % Upper limit
5 h = 0.25; % Step size
6 n = ( b - a ) / h ; % Number of subintervals
7
8 max_f_prime2 = max ( abs ( f_prime2 ( linspace (a , b , 100) ) ) ) ;
9
10 error_estimate = (( b - a ) ^3 / (12 * n ^2) ) * max_f_prime2 ;
11 fprintf ( ’ Error estimate for the Trapezoidal Method : %.6 f \ n ’ , error_estimate )
;

Or

1 function [T , error_estimate ] = trapeze (f , a , b , h )


2 n = ( b - a ) / h ;
3 T = 0;
4 for i = 1: n -1
5 x = a + i * h ;
6 T = T + feval ( f , x ) ;
7 end
8 T = h / 2 * ( feval ( f , a ) + feval ( f , b ) ) + h * T ;
9 f_prime2 = @ ( x ) 12* x .^2 - 4;
10

11 % Estimate the maximum value of |f ’ ’( ) | over [a , b ]


12 max_f_prime2 = max ( abs ( f_prime2 ( linspace (a , b , 100) ) ) ) ;
13
14 % Calculate the error estimate
15 error_estimate = (( b - a ) ^3 / (12 * n ^2) ) * max_f_prime2 ;
16 end

0.2 Méthode de Simpson


La formule de la méthode de Simpson est donnée par :
n−1 n−2
!
h X X
S= f (a) + f (b) + 4 f (a + i · h) + 2 f (a + i · h)
3 i=1,3,... i=2,4,...

1 function S = simpson (f , a , b , h )
2 n = (b - a) / h;
3 if mod (n , 2) == 1
4 n = n + 1;
5 end
6 h = (b - a) / n;
7 S = feval (f , a ) + feval (f , b ) ;
8 for i = [Link] n -1
9 S = S + 4 * feval (f , a + i * h ) ;
10 end
11 for i = [Link] n -2
12 S = S + 2 * feval (f , a + i * h ) ;
13 end
14 S = S * h / 3;
15 end
5

Le script est ensuite exécuté avec les paramètres suivants :


1 f = @ ( x ) x .^4 - 2* x .^2 + 3* x + 1;
2 a = 0;
3 b = 3;
4 h = 0.25;
5 S = simpson (f , a , b , h )

Le script est exécuté avec les mêmes paramètres, et le résultat obtenu est :

S = 47.1016

with quad

1 a = 0; % Limite i n f r i e u r e
2 b = 3; % Limite s u p r i e u r e
3 h = 0.25; % Pas
4 D = quad (f , a , b , h )

Le script est exécuté avec les mêmes paramètres, et le résultat obtenu est :

D = 47.1000

0.3 Comparaison des Résultats


Nous avons comparé les résultats obtenus avec la méthode des trapèzes et la
méthode de Simpson. Voici un résumé des résultats :

• Méthode des trapèzes : T = 47.5996

• Méthode de Simpson : S = 47.1016

• Méthode des trapèzes (fonction intégrée trapz de MATLAB) : TNumPy = 47.5996

Nous observons que la méthode des trapèzes donne un résultat légèrement


supérieur à celui de la méthode de Simpson. Cela est dû aux différences dans
les techniques d’approximation utilisées.

Utilisation de la fonction quad dans MATLAB


Nous pouvons également utiliser la fonction quad de MATLAB pour calculer l’intégrale
numériquement:

Remarques
En général, la fonction quad est plus rapide et plus précise car elle utilise des
algorithmes optimisés pour adapter les intervalles aux variations de la fonction.
Cependant, la méthode de Simpson peut également donner des résultats très précis
si le nombre de sous-intervalles est suffisamment grand.
6

0.4 Changement du pas h


Lorsque nous changeons le pas h, cela modifie la précision du calcul de l’intégrale
numérique. Ci-dessous se trouve le programme MATLAB modifié pour explorer
l’effet de h = 0.5 et h = 1 sur l’intégrale de la fonction f (x).
Listing 1: Programme MATLAB pour différents pas h
1 % D f i n i r la fonction f ( x )
2 f = @ ( x ) x .^4 - 2* x .^2 + 3* x + 1;
3
4 % Bornes d ’ i n t g r a t i o n
5 a = 0;
6 b = 3;
7
8 % Cas 1: h = 0.5
9 h = 0.5;
10 I_simpson_h05 = simpson (f , a , b , h ) ;
11 disp ([ ’ Simpson 1/3 avec h =0.5: ’ , num2str ( I_simpson_h05 ) ]) ;
12

13 % Cas 2: h = 1
14 h = 1;
15 I_simpson_h1 = simpson (f , a , b , h ) ;
16 disp ([ ’ Simpson 1/3 avec h =1: ’ , num2str ( I_simpson_h1 ) ]) ;

0.5 Analyse des résultats


Voici les observations suite au changement du pas h :

• Avec h = 0.25 (cas initial) : Le petit pas donne une approximation plus
précise, car les sous-intervalles sont plus petits, ce qui permet une meilleure
modélisation de la courbe de la fonction.

• Avec h = 0.5 : La précision reste correcte, mais l’approximation est légèrement


moins bonne par rapport à h = 0.25, car les sous-intervalles sont plus grands.

• Avec h = 1 : La précision diminue encore plus car les sous-intervalles sont très
grands, ce qui peut entraı̂ner une erreur d’approximation significative.

0.6 Conclusion du TP
Dans ce TP, nous avons étudié l’impact de la méthode de Simpson 1/3 et de la
fonction quad de MATLAB pour calculer des intégrales numériques. Les conclusions
principales sont :

1. Influence du pas h : Un pas plus petit (h) améliore l’approximation de l’intégrale.


Toutefois, un pas trop grand entraı̂ne une perte de précision.

2. Comparaison des méthodes : La méthode de Simpson 1/3 est très précise,


mais dépend fortement du choix du pas h. La fonction quad de MATLAB est
souvent plus rapide et plus précise car elle utilise des algorithmes adaptatifs.

3. Conclusion générale : Les méthodes numériques sont essentielles pour des


intégrales complexes, mais il faut choisir judicieusement les paramètres pour
obtenir des résultats précis.

Vous aimerez peut-être aussi