0% ont trouvé ce document utile (0 vote)
244 vues8 pages

Méthodes Numériques en Matlab

Transféré par

Soundous Ayari
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)
244 vues8 pages

Méthodes Numériques en Matlab

Transféré par

Soundous Ayari
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

Méthodes Université A/Mira de Béjaia Mai 2015

Faculté de Technologie
Numériques Département ST2

TTP CORRIGÉ

NOM : ……………………………………….. GROUPE : ……………………..


EXERCICE1: METHODE DE DICHOTOMIE
NB : il est strictement interdit de changer les noms de variables
ou de fonctions donnés.
Soit la fonction définie sur R .
1.5pt 1- Ecrire une fonction Matlab qui retourne h(x), puis compléter le tableau
suivant:

x -1,66 -1 1 2 2,57
h(x) 3.0657 1 -2 1 7.6946

1pt 2- Selon ce tableau, combien la fonction h(x) a-t-elle de racines au minimum


dans l’intervalle [-3 3] ?
Réponse : h(x) possède 2 racines au minimum dan s l’intervalle [ -3 3]
1pt 3- Tracer le graphe de h(x) dans l’intervalle [-3 3 ].
Quel est le nombre de racines de h(x) selon ce graphe?.
Réponse : h(x) possède 3 racines dan s l’intervalle [-3 3]
1.5pt 4- Donner des valeurs approximatives des racines de h(x) en utilisant son graphe.
Réponse: -2.1 , 0.26, 1.86
2pt 5- Ecrire un script pour calculer la racine approchée de h(x) dans l’intervalle
[a b] par la méthode de dichotomie (données à lire: a , b et la précision p).
1pt 6- Exécuter le programme pour trouver la racine négative : on prend p=10-5 , a
et b à choisir.
Valeurs choisies : a=-3 , b= -2
Résultat : -2. 1149

PROGRAMMES :

la fonction :
function y=h(x)
y=x^3-4*x+1 ;

le script :
a=input('donner a');
b=input('donner b');
p=input('donner la précision ');
while abs(a-b)>p
x=(a+b)/2;
if h(a)*h(x)<0
b=x;
else
a=x;
end
end
x
Méthodes Université A/Mira de Béjaia Mai 2015
Faculté de Technologie
Numériques Département ST2

TTP CORRIGÉ

NOM : ……………………………………….. GROUPE : ……………………..


EXERCICE2: METHODE DE DICHOTOMIE
Soit la fonction définie sur R .
1.5pt 1- Ecrire une fonction Matlab qui retourne d(x), puis compléter le tableau
suivant:

x -1,5 -0,4 0 2,44 3


d(x) -2.9375 0.3856 1 12.6310 46

1pt 2- Selon ce tableau, combien la fonction d(x) a-t-elle de racines au minimum


dans l’intervalle [-3 3] ?
Réponse : d(x) possède U NE racine au minimum dan s l’intervalle [ -3 3]
1pt 3- Tracer le graphe de d(x) dans l’intervalle [-3 +3 ].
Quel est le nombre de racines de d(x) selon ce graphe?.
Réponse : d(x) possède 4 racines dans l’intervalle [-3 3]
1.5pt 4- Donner des valeurs approximatives des racines de d(x) en utilisant son graphe.
Réponse: -1.9 , -0.5, 0.5, 1.9
2pt 5- Ecrire un script pour calculer la racine approchée de d(x) dans l’intervalle
[a b] par la méthode de dichotomie (données à lire: a , b et la précision p).
1pt 6- Exécuter le programme pour trouver la racine minimale : on prend p=10-5 , a
et b à choisir.
Valeurs choisies : a=-2 , b= -1
Résultat : -1.9318

PROGRAMMES :

la fonction :
function y=d(x)
y=x^2*(x ^2-4)+1;
le script :
a=input('donner a');
b=input('donner b');
p=input('donner la précision ');
while abs(a-b)>p
x=(a+b)/2;
if d(a)*d (x)<0
b=x;
else
a=x;
end
end
x
Méthodes Université A/Mira de Béjaia Mai 2015
Faculté de Technologie
Numériques Département ST2

TTP CORRIGE

NOM : ……………………………………….. GROUPE : ……………………..


EXERCICE1: METHODE DU POINT FIXE
NB : il est strictement interdit de changer les noms de variables
ou de fonctions donnés.
l’équation admet une solution unique dans l’intervalle [-3 3]. Cette
équation peut s’écrire sous les 2 formes suivantes :
𝑜𝑛 𝑝𝑜𝑠𝑒
𝑜𝑛 𝑝𝑜𝑠𝑒
3pt 1- Tracer les graphes de , et dans l’intervalle
[-3 3] pour étudier les propriétés de contractance et stabilité des 2 fonctions
puis compléter le tableau suivant:
Contractante? Stable?
 Oui  Non  Oui  Non
Explication : Explication :
K=max (g a ’(t))0.65<1 ga([-3 3])=[ 0.1 1 ]  [-3 3]
 Oui  Non  Oui  Non
Explication : Explication :
K=max (g b ’(t))26>1 gb([-3 3])=[ -26 28 ]  [-3 3]
1pt 2- Tracer le graphe de sur l’intervalle [-3 3]. Donner une
valeur approximative de la racine :
Réponse: 0 .68
3pt 3- En utilisant la fonction stable et contractante parmi et , écrire un
script permettant de calculer la racine approchée de par la
méthode du point fixe (données à affecter: la valeur initiale x0 et la
précision p).
1pt 4- Exécuter le programme pour trouver la racine: on prend p=10-7 , x0 au choix.
Valeur choisie : x 0 = 0.5
Résultat : xr = 0.6823
PROGRAMME :

la fonction :
function y=ga(x)
y= 1/(1+x ^2);
le script :
x0=0 .5;
xr=ga(x0);
while abs (xr-x0)>p
x0=xr;
xr=ga(x0);
end
xr
Méthodes Université A/Mira de Béjaia Mai 2015
Faculté de Technologie
Numériques Département ST2

TEST DE TP

NOM : ……………………………………….. GROUPE : ……………………..


EXERCICE2: METHODE DU POINT FIXE
NB : il est strictement interdit de changer les noms de variables
ou de fonctions donnés.
Soit l’équation qui peut s’écrire sous la forme
𝑜𝑛 𝑝𝑜𝑠𝑒
1pt 5- Tracer dans la même fenêtre graphique, les fonctions et
, sur l’intervalle [-2 5]. A l’aide de ces graphes, donner une
approximation de la racine de .
Réponse : 0.68
3pt 6- Tracer les graphes de et dans l’intervalle [-2 5] pour étudier les
propriétés de contractance et stabilité de puis compléter le tableau suivant:
Contractante? Stable?
Dans  Oui  Non  Oui  Non
l’intervalle Explication : Explication :
[-2 5] K=max (g t ’(t))0.65<1 gt([-2 5])=[ 0.03 0.2 ]  [-2 5]
Dans  Oui  Non  Oui  Non
l’intervalle Explication : Explication :
[0 1] K=max (g t ’(t))0.65<1 gt([0 1])=[0.5 1]  [0 1]
3pt 7- Ecrire un script permettant de calculer la racine approchée de
par la méthode du point fixe (données à lire: la valeur initiale t0 et le nombre
d’itérations N).
1pt 8- Exécuter le programme pour trouver la racine: on prend N=30, t0 au choix.
Valeur choisie : t 0 = 0.5
Résultat : tr = 0.6823

PROGRAMME :

la fonction :
function y=gt (t)
y= 1/(1+t^2);
le script :
t0=input ('donner t0');
N=input('donner le nombre d''itérations');
tr=gb(t0);
for i=1:N
t0=tr;
tr=gt(t0);
end
tr
Université A/Mira de Béjaia Mai 2015
Méthodes Numériques Faculté de Technologie
Département ST2

TTP CORRIGE

NOM : ……………………………………….. GROUPE : ……………………..


EXERCICE1: METHODE DE GAUSS
NB : il est strictement interdit de changer les noms de variables
ou de fonctions donnés.
Soit le système d’équations linéaires: , de n inconnus. la méthode de Gauss permet
de résoudre ce système en le modifiant d’abord en , avec une matrice triangulaire
supérieure. Les deux étapes de cette méthode sont décrites par les algorithmes suivants:
Algorithme 1 Algorithme 2

7pt 1- Ecrire un script qui permet de résoudre le système d’équation par la méthode de
Gauss. (données à lire: la matrice A et le vecteur b).
1pt 2- Exécuter le script pour trouver la solution du système suivant :

Réponse : [0 3 -3 0 ]’
PROGRAMME :

clear all end


A=input('donner A') ; G=A;
b=input('donner b'); g=b;
n=size(A,1); % calcul de x
for s=1:n-1 for s=n:-1:1
for i= s+1:n x(s)=g(s)/G(s,s) ;
K=A(i,s)/A(s,s); for m=1:s-1;
for m=s:n g(m)=g(m) -G(m,s)*x(s)
A(i,m)=A(i,m) -K*A(s,m); end
end end
b(i)=b(i)-K*b(s) x
end
Université A/Mira de Béjaia Mai 2015
Méthodes Numériques Faculté de Technologie
Département ST2

TTP CORRIGE

NOM : ……………………………………….. GROUPE : ……………………..


EXERCICE2: METHODE DE GAUSS
NB : il est strictement interdit de changer les noms de variables
ou de fonctions donnés.
Soit le système d’équations linéaires: , de n inconnus. la méthode de Gauss permet
de résoudre ce système en le modifiant d’abord en , avec une matrice triangulaire
supérieure. Les étapes de cette méthode sont décrites par les algorithmes suivants:
Algorithme 1 Algorithme 2

1- Ecrire la fonction Modify qui retourne et


4.5pt 2- En utilisant la fonction Modify, écrire le système suivant sous la forme :
1.5pt Réponse :
0 0
0 0
0 0 33 3
0 0 0

3- En utilisant , vérifier si le vecteur est une solution du système précédent.


1pt
Réponse : G* [9 9 ]’  g
4- Trouver la solution du système précédent en utilisant la division gauche.
1pt Réponse : A\b [ 3 3 ]’
PROGRAMME :

function [G,g]=Modify(A,b)
n=size(A,1); b(i)=b(i)-K*b(s)
for s=1:n-1 end
for i= s+1:n end
K=A(i,s)/A(s,s); G=A;
for m=s:n g=b;
A(i,m)=A(i,m) -K*A(s,m);
end
Université A/Mira de Béjaia Mai 2015
Méthodes Numériques Faculté de Technologie
Département ST2

TTP CORRIGE

NOM : ……………………………………….. GROUPE : ……………………..


EXERCICE1: METHODE DE CHOLESKY
NB : il est strictement interdit de changer les noms de variables
ou de fonctions donnés.
Soit le système d’équations linéaires: . La méthode de Cholesky permet de
résoudre ce système en 3 étapes décrites par les algorithmes suivants:
Algorithme 1 Algorithme 2

Algorithme 3

5pt 1- Ecrire la fonction Findx qui calcule la solution à partir de et .


2- Résoudre le système suivant en utilisant la fonction Findx:
1.5pt Réponse : L=[1 0 0 0 ; 1 1 0 0 ;1 2 1 0 ; 1 3 3 1] ; b=[ 2 1 1 1]’ ;
x= findx(L,b') = [ 5 -6 4 -1 ]’
1.5pt 3- Retrouver la solution du système précédent à partir de A et b en utilisant la
division gauche.
Réponse A=L*L’ , x=A\ b= [ 5 -6 4 -1 ]’
1 1 1 1
1 2 3 4
1 3 6 10
1 4 10 20
PROGRAMME :

function x=findx(L,b) x(n)=y(n)/Lt(n,n);


n=size(L,1); y(1)=b(1)/L(1,1); for s=n-1:-1:1
for s=2:n k=s+1:n;
k=1:s-1; x(s)=(y(s)-sum(Lt(s,k).*x(k)))/Lt(s,s);
y(s)=(b(s)-sum(L(s,k).*y(k)))/L(s,s); end
end x=x';
Lt=L';
Université A/Mira de Béjaia Mai 2015
Méthodes Numériques Faculté de Technologie
Département ST2

TTP CORRIE

NOM : ……………………………………….. GROUPE : ……………………..


EXERCICE2: METHODE DE CHOLESKY
NB : il est strictement interdit de changer les noms de variables
ou de fonctions donnés.
Soit le système d’équations linéaires: . La méthode de Cholesky permet de
résoudre ce système en 3 étapes décrites par les algorithmes suivants:
Algorithme 1 Algorithme 2

Algorithme 3

5pts 1- Ecrire la fonction decomposeA qui retourne la matrice L et Lt à partir de A.


1.5pt 2- Ecrire le système suivant sous la forme :
Réponse A=[1 1 1 1; 1 2 3 4; 1 3 6 10 ; 1 4 10 20] ;[L,Lt]=decomposeA(A) ;
L =1 0 0 0
1 1 0 0
1 2 1 0
1 3 3 1
3- Retrouver la solution en utilisant la division gauche.
1.5pt Réponse : y=L\ b== [ 2 -1 1 -1 ]’ , x=Lt\b= [ 5 -6 4 -1 ]’

PROGRAMME :

function [L , Lt]=decomposeA(A) for j= s+1:n


n=size(A,1); L(j,s)=(A(s,j) -sum(L(s,k).*L(j,k)))/L(s,s);
L=zeros(n); end
for s=1:n end
k=1:s-1; Lt=L';
L(s,s)=sqrt(A(s,s) -sum(L(s,k).^2));

Vous aimerez peut-être aussi