TP Matlab
TP Matlab
TP Matlab
Analyse Numérique
Binome
BELHASSANI Lamia
BOUARROU Samy
OURDANE Merouane
Remis le : 07/03/2021
MATLAB
Matrix laboratory est un langage de script émulé par l’environnement Matlab, et qui est utilisé
à des fin de calcul numérique. Il est utilisé par des milllions d’ingénieurs pour analyser les
données, developper des algorithmes et créer des modèles.
Dans ce qui suit, nous allons présenter les parties essentielles abordées en TP d’analyse numérique
.
Initialisation
• Desktop de MATLAB : command window , script , workspace ...
• Les variables : toutes les variables sot considérées comme des matrices dans l’nvironnement
MATLAB.
• Les formats : short , long , short e , long e , short E ,short g , long g ...
• les commandes :
• Opérateurs mathématiques :
• syntaxe :
– ; séparateur d’instruction
– % introduire un commentaire
– début : pas : fin génération de séquences exp: 0:2:10
Matrices et vecteurs
• A = [a, b , c ; e , f , g ] : construction d’une matrice, ”,” ou ” ” pour séparer les colonnes
et ”;” pour séparer les lignes.
1
• Matrices particulières :
Les polynomes
• Représetation : Un polynome de degré n est représenté par un vecteur ligne de taille
n+1 dont les composants sont les coefficients de ce polynome par ordre de puissances
décroissantes.
exp : P = [2 , 3 , zeros(3) ,1]
• Evaluation d’un polynome : polyval(P, x) tel que x est une valeur ou un vecteur compor-
tant les valeurs pour lesquelles on souhaite calculer les images.
Graphes en 2D
• La fonction plot : plot(x,y) tel que x est le vecteur des abscisses et y le vecteur image de
x
2
• xlabel(’....’) : titre pour l’axe des x
Fonction en MATLAB
Programmation
• disp , fprintf : affichage
• while ’condition’ end : faire les itérations tant que la condition est vérifiée
• switch : faire un test sur une variable pour plusieurs cas différents
3
2 Partie 2 : Les méthodes d’intégration
Cette partie est consacrée aux méthodes d’intégration suivantes :
• La méthode de Simpson
• La méthode de Romberg
• La méthode de Gauss-Legendre
4
2.4 La méthode de Gauss-Legendre
On uutilisera 2 fonctions , la première pour calculer les noeuds xi et les coefficients poids wi
, et la deuxième pour calculer l’intégrale.
function [x,w]=gaussXW(n)
syms y;
x=sort(roots(sym2poly(legendreP(n,y))));
b=zeros(n,1);
for i=1:2:n
b(i)=2/i;
end
for i=1:n
for j=1:n
A(i,j)=x(j)ˆ(i-1);
end
end
w=A\b ;
function I=gaussn(f,a,b,n)
[t,w]=gaussXW(n);
x=((b-a)*t+(b+a))/2;
I=0;
for i=1:n
I=I+(w(i)*f(x(i)));
end
I=I*(b-a)/2 ;
Pour chaque méthode de calcul de l’intégrale d’une ’fonction nous allons varier le n : nombre
de subdivision de l’intervalle d’intégration et voir la convergence de la méthode à chaque fois
en affichant l’erreur exacte.
Pour cela on introduit la fonction suivante qui permetra de faire cette étude pour chaque
intégrale : I = ab f (x)dx.
R
5
Iex , abs(trap(f,a,b,n(i)) - Iex) )
end
fprintf(’\n \n \n’)
disp (’ Méthode de Simpson’)
n = [2 ; 4 ; 8 ; 12 ; 16];
disp (’ n Ia Iex Errex ’)
for i=1:5
fprintf(’%5i %12.7f %12.7f %12.4e \n’ , n(i), simpf(f,a,b,n(i)) ,
Iex , abs(simpf(f,a,b,n(i)) - Iex) )
end
fprintf(’\n \n \n’)
disp (’ Méthode de Romberg’)
n = [2 ; 4 ; 8 ; 12 ; 16];
disp (’ n Ia Iex Errex ’)
for i=1:5
fprintf(’%5i %12.7f %12.7f %12.4e \n’ , n(i) , romb(f,a,b,n(i)) ,
Iex , abs(romb(f,a,b,n(i)) - Iex) )
end
fprintf(’\n \n \n’)
disp (’ Méthode de Gauss-Legendre’)
n = [2 ; 4 ; 8 ; 12 ; 16];
disp (’ n Ia Iex Errex ’)
for i=1:5
fprintf(’%5i %12.7f %12.7f %12.4e \n’ , n(i) , gaussn(f,a,b,n(i)) ,
Iex , abs(romb(f,a,b,n(i)) - Iex) )
end
end
Méthode de Simpson
n Ia Iex Errex
2 1.0001346 1.0000000 1.3458e-04
4 1.0000083 1.0000000 8.2955e-06
8 1.0000005 1.0000000 5.1668e-07
12 1.0000001 1.0000000 1.0200e-07
16 1.0000000 1.0000000 3.2265e-08
6
Méthode de Romberg
n Ia Iex Errex
2 1.0022799 1.0000000 2.2799e-03
4 1.0000000 1.0000000 8.1440e-09
8 1.0000000 1.0000000 4.4409e-16
12 1.0000000 1.0000000 1.6653e-15
16 1.0000000 1.0000000 4.4409e-15
Méthode de Gauss-Legendre
n Ia Iex Errex
2 0.9984726 1.0000000 2.2799e-03
4 1.0000000 1.0000000 8.1440e-09
8 1.0000000 1.0000000 4.4409e-16
12 1.0000000 1.0000000 1.6653e-15
16 1.0000000 1.0000000 4.4409e-15
Méthode de Simpson
n Ia Iex Errex
2 0.8563824 0.8565899 2.0751e-04
4 0.8565752 0.8565899 1.4733e-05
8 0.8565890 0.8565899 9.5776e-07
12 0.8565898 0.8565899 1.9067e-07
16 0.8565899 0.8565899 6.0496e-08
Méthode de Romberg
n Ia Iex Errex
2 0.8541942 0.8565899 2.3957e-03
4 0.8565890 0.8565899 9.3352e-07
8 0.8565899 0.8565899 3.3307e-16
12 0.8565899 0.8565899 2.1094e-15
16 0.8565899 0.8565899 3.5527e-15
7
Méthode de Gauss-Legendre
n Ia Iex Errex
2 0.8581294 0.8565899 2.3957e-03
4 0.8565923 0.8565899 9.3352e-07
8 0.8565899 0.8565899 3.3307e-16
12 0.8565899 0.8565899 2.1094e-15
16 0.8565899 0.8565899 3.5527e-15
q √
• h(x) = 1+ x x ∈ [0; 4]
Méthode de Simpson
n Ia Iex Errex
2 6.0360065 6.0758959 3.9889e-02
4 6.0616783 6.0758959 1.4218e-02
8 6.0708470 6.0758959 5.0490e-03
12 6.0731433 6.0758959 2.7526e-03
16 6.0741066 6.0758959 1.7893e-03
Méthode de Romberg
n Ia Iex Errex
2 5.9647645 6.0758959 1.1113e-01
4 6.0637490 6.0758959 1.2147e-02
8 6.0757066 6.0758959 1.8928e-04
12 6.0758930 6.0758959 2.9588e-06
16 6.0758959 6.0758959 4.6233e-08
Méthode de Gauss-Legendre
n Ia Iex Errex
2 6.1032046 6.0758959 1.1113e-01
4 6.0804544 6.0758959 1.2147e-02
8 6.0765679 6.0758959 1.8928e-04
12 6.0761070 6.0758959 2.9588e-06
16 6.0759876 6.0758959 4.6233e-08
8
• t(x) = √2 exp(−x2 ) x ∈ [0; 4]
π
Méthode de Simpson
n Ia Iex Errex
2 0.9435668 1.0000000 5.6433e-02
4 0.9999655 1.0000000 3.4489e-05
8 1.0000000 1.0000000 9.1063e-10
12 1.0000000 1.0000000 2.1564e-10
16 1.0000000 1.0000000 7.3010e-11
Méthode de Romberg
n Ia Iex Errex
2 0.8073648 1.0000000 1.9264e-01
4 1.0045362 1.0000000 4.5362e-03
8 1.0000000 1.0000000 1.2412e-13
12 1.0000000 1.0000000 6.6613e-16
16 1.0000000 1.0000000 1.9096e-14
Méthode de Gauss-Legendre
n Ia Iex Errex
2 1.1046135 1.0000000 1.9264e-01
4 0.9855434 1.0000000 4.5362e-03
8 1.0000045 1.0000000 1.2412e-13
12 1.0000000 1.0000000 6.6613e-16
16 1.0000000 1.0000000 1.9096e-14
1
• s(x) = 1+x2
x ∈ [−1; 1]
9
Méthode de Simpson
n Ia Iex Errex
2 1.5666667 1.5707963 4.1297e-03
4 1.5707843 1.5707963 1.2013e-05
8 1.5707963 1.5707963 7.5566e-08
12 1.5707963 1.5707963 6.6422e-09
16 1.5707963 1.5707963 1.1825e-09
Méthode de Romberg
n Ia Iex Errex
2 1.6666667 1.5707963 9.5870e-02
4 1.5712344 1.5707963 4.3803e-04
8 1.5707963 1.5707963 3.6637e-14
12 1.5707963 1.5707963 3.3307e-15
16 1.5707963 1.5707963 5.7732e-15
Méthode de Gauss-Legendre
n Ia Iex Errex
2 1.5000000 1.5707963 9.5870e-02
4 1.5686275 1.5707963 4.3803e-04
8 1.5707944 1.5707963 3.6637e-14
12 1.5707963 1.5707963 3.3307e-15
16 1.5707963 1.5707963 5.7732e-15
Pour une meme fonction et le meme nombre de subdivisions de l’intervalle on calcule l’integrale
avec toutes les méthodes vues précédemment.
On introduit la fonction suivante :
end
10
On choisit n=6 pour toutes les fonctions
1
• s(x) = 1+x2
x ∈ [−1; 1]
11
2.6 Gauss-Legendre pour une itégrale double
Le script de la fonction :
function I=gauss2d(f,a,b,c,d,n,m)
[t1,w1]=gaussXW(n);
[t2,w2]=gaussXW(m);
x=((b-a)*t1+(b+a))/2;
y=((d-c)*t2+(d+c))/2;
I=0;
for i=1:n
for j=1:m
I=I+ w1(i)*w2(j)*f(x(i),y(j)) ;
end
end
I = (b-a)*(d-c)*I/4;
end
0.311573333333333
I =
0.255251930412206
Iex =
0.255251930412762
12
3 Commentaires et conclusion
À l’aide des différentes méthodes d’intégration numérique nous avons pu calculer les intégrales
bornées des fonctions proposées tout en effectuant une étude qualitative et quantitative.
• L’étude qualitative : en fixant le n on et pour une meme fonction on compare les résultats
obtenus avec les différentes méthodes. On peut constater que :
13