TPNMATLAB

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 16

TPN°1:Résolution des equation de type f(x)=0

Exon01:

on doit trouver la solution de la fonction suivante en utilisons la méthde


dichotomie : f(x)=exp(x)+sqrt(x+1)-3

pour dessiner le graphe sous matlab ,on doit donner les instructions suivantes :
clc
x=[0:0.1:1]
y=exp(x)+sqrt(x+1)-3
plot(x,y,'r')
grid
xlabel('l axe des x')
ylabel('l axe des y')

1.5

0.5
l axe des y

-0.5

-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
l axe des x

Alors : a l’aide d’une simple option ‘zoom’,on peut obtenir la solution 

clear all
format long

Réaliser par ZEDDOUNE LAKHDAR Page 1


f=@(x) exp(x)+sqrt(x+1)-3;
a=0;
b=1;
N=50;
e=10^-10;
it=0;
while abs(f(a)-f(b))>e
it=it+1;
c=(a+b)/2;
if it>N
disp('l algorithme diverge')
break
else
if f(a)*f(c)<0
b=c
else
a=c;
end
disp('c=')
disp(c)
disp('it=')
disp(it)
end
end
 Alors apérs l’execution : c=0.560152432502946
It=35

C :c’est la solution

It=le nombre d’itération


« Indiquer l’intervalle [a ;b] dans lequelle il y a un changement de signe »

Indiquer le nombre maximal tolerer des itérations N

Indiquer l’erreur épsilon

Donner le nombre initiale d’itération


it=0
Tant que [f(a)-f(b)]>epsilon

It=it+1

c=(a+b)/2

Si it>=N

Si f(a)*f(b)<0
Réaliser par ZEDDOUNE LAKHDAR Page
a=c 2 b=c
Afficher la solution ‘c’

L’algorithme diverge
« Afficher le nombre d’itération ‘it’ »

Arrét

Exo2  :(methode de nr)


programme de la méthode de Newton Rphson:
clear all;
clc
x=pi/6;
N=50;
eps=0.0001;
dx=1;
it=0;
while abs(dx)>eps
x0=x;
it=it+1;
f=cos(x)-x.*exp(x);
fp=-sin(x)-(x+1).*exp(x);
x=x-f/fp;
if it>=N
disp('algorithme diverge')
break
else
dx=abs((x-x0)/x0);
end
end
disp('x=')
disp(x)
disp('it=')
disp(it)

Alors apérs l’execution 

 x=

0.5178

 it=

L’organigramme de la methode de Newton Raphson :


Choisir une solution initiale x0

Choisir le nombre maximaum des itération it

Choisir un épsilon

Réaliser par ZEDDOUNE LAKHDAR Page 3


Choisir une valeur dx>0

Indiquer le nombre initiale des itérations it

[dx]>épsilon

x0=x

it=it+1

it>N
L’algorithme diverge Xn=Xn-f(x)/f’(x)

Teste d’arrét
« Arrét »

Afficher la solution

« Afficher le nombre des itération


Exo3  :
« « « « « « « « « it
%programme de la méthode de point fixe pour la fonction g2(x)=log(x+2)
clear all;
clc
x=1;
N=50;
eps=0.0001;
dx=1;
it=0;
while abs(dx)>eps
x0=x;
it=it+1;
if it>=N
disp('algorithme diverge')
break
else
x=log(x+2);
dx=abs((x-x0)/x0);
end
end
disp('x=')
disp(x)
disp('it=')
disp(it)

Choisir une solution initiale x0

Choisir le nombre maximale des itérations N

Choisir la précision épsilon


Réaliser par ZEDDOUNE LAKHDAR Page 4
Choisir une valeur dx>0

Indiquer le nombre initiale des itérations it

[dx]>épsilon

x0=x

it=it+1

it>N
oui non
L’algorithme diverge X=g(x)

Teste d’arrét
Arrét

Afficher la solution

ExO4  : Afficher le nombre des itération it

clear all;
clc;
e=10.^-4;
a=0;
b=1; % a et b sont les bornes
d'intervales
N=100; % N c'est le nombre maximaum
d'itération
e=10^-4; % e: c'est l'erreur
it=0; % it:c'est le compteur
d'iteration
q=input('quelle méthode vous preférer????='); % q:la methode choisie par
l'utilisateur
if q==1
f=@(x) x.^3+x-1;
while abs(f(a)-f(b))>e
it=it+1;
x=(a+b)/2;
if it>N
disp('l algorithme diverge')
break
else
if f(a)*f(x)<0
b=x;
else
a=x;
end

Réaliser par ZEDDOUNE LAKHDAR Page 5


end
end
disp('la solution par bissection x=')
disp(x)
disp('le nombre d iteraion it=')
disp(it)
else
if q==2
x=0;
dx=1;
it=0;
while abs(dx)>eps
x0=x;
it=it+1;
f=x.^3+x-1;
fp=3*x.^2+1;
x=x-f/fp;
if it>=N
disp('algorithme diverge')
break
else
dx=abs((x-x0)/x0);
end
end
disp('la solution par Newton Raphson x=')
disp(x)

aApres l’execution de programme :

quelle méthode vous preférer????=1

la solution par bissection x=

0.6823

le nombre d iteraion it=

15

TP N 02:Interpolation polynomiale

Réaliser par ZEDDOUNE LAKHDAR Page 6


EXON1

A. L’organigramme de la methode de lagrange :

Déclaration de la variable X

Déclaration des cordonnes d’un nuage des points

Initialisation de la valeur initiale de Pn=0

Pour i=1 a n

N=1

D=1

i=i+1

Pour j=1 a n

Si ( j) different de
( i)

N=N*(X-X(j))

D=D*(X(i)-X(j))

L(i)=N/D

Afficher le polynome Pn(x)

B. Le programme Matlab :

Réaliser par ZEDDOUNE LAKHDAR Page 7


%Interpolation de lagrange:
clear all;
clc;
syms x
xn=[0 2 4 6];
yn=[0 4 0 4];
n=length(xn);
pn=0;
for i=1:n
N=1;
D=1;
for j=1:n
if i~=j
N=N*(x-xn(j));
D=D*(xn(i)-xn(j));
end
end
l(i)=N/D;
pn=pn+yn(i)*l(i);
end
pn=simple(pn)
disp('le polynome de lagrange est pn=')
pretty(pn)

Apres l’execution on trouve : pn =

(x*(x - 4)*(x - 5))/3

le polynome de lagrange est pn=

x (x - 4) (x - 5)
-----------------
3

EXON2 :

A. L’organigramme de la méthode de Newton :

Déclaration de la variable X

Déclaration des cordonnes d’un nuage des points

Initialisation de la valeur initiale de Pn=0

Pour i=1:n
Initialisation de la valeur initiale de Pr=1
f(X(i) ,X(i))=y(i)

Réaliser par ZEDDOUNE LAKHDAR Page 8


Pour k=1:n-1

Pour i=1:n-k

f(X(i),X(i+k))=( f(X(i),X(i+k-1))- f(X(i+1),X(i+k)))/(X(i)-x(i+1))

Pour

j=1:i-1

Pr=Pr*(X-X(j))
Pn=Pn+f(X(1),X(i))*Pr

Afficher le polynome Pn(X)

B. Le programme Matlab :
%programme de la methode de Newton:
clc;
clear all;
syms x
xn=[0 2 3 -1 -2];
yn=[1 -1 16 8 51];
n=length(xn);
Pn=0;

for i=1:n
d(i,i)=yn(i);
end
for k=1:n-1
for i=1:n-k
d(i,i+k)=( d(i,i+(k-1))-d(i+1,i+k) )/(xn(i)-xn(i+k));
end
end
for i=1:n
pr=1;
for j=1:i-1
pr=pr*(x-xn(j));
end
Pn=Pn+d(1,i)*pr;
end

disp('Pn=')
Pn=simple(Pn)
pretty(Pn)

Réaliser par ZEDDOUNE LAKHDAR Page 9


Apres l’execution de programme:
4 3 2
x -3x +2x -x+1
EXON3:
clc;
clear all;
syms x
M=input('quelle methode')
xn=[1.5 1.6 1.7 1.8 1.9];
yn=[0.9975 0.9996 0.9917 0.9738 0.9463];
n=length(xn);
Pn=0;
if M==1
for i=1:n
d(i,i)=yn(i);
end
for k=1:n-1
for i=1:n-k
d(i,i+k)=( d(i,i+(k-1))-d(i+1,i+k) )/(xn(i)-xn(i+k));
end
end
for i=1:n
pr=1;
for j=1:i-1
pr=pr*(x-xn(j));
end
Pn=Pn+d(1,i)*pr;
end

disp('par method de NEWTON Pn=')


Pn=simple(Pn)
pretty(Pn)
else
for i=1:n
N=1;
D=1;
for j=1:n
if i~=j
N=N*(x-xn(j));
D=D*(xn(i)-xn(j));
end
end
l(i)=N/D;
Pn=Pn+yn(i)*l(i);
end
Pn=simple(Pn)
disp('le polynome de lagrange est pn=')
pretty(Pn)
end
Le polynome est : >> Pn(X)= x^4/6 - (11*x^3)/10 + (1331*x^2)/600 - (141*x)/100 + 99/100

TPN°3:Résolution de system d’equation

Réaliser par ZEDDOUNE LAKHDAR Page 10


EXON01:

 L’organigramme de la méthode de Gauss :


Donner la matrice (A) ; et le vecteur solution (B)

Déclarer un compteur(K) qui caractérise l’étape

Pour K=1:n-1

Si le pivot est nulle :


A(k,k)==0

Pour i=k+1:n
Le système n’admet pas de solution c=A(i,k)/A(k,k);
B(i)=B(i)-c*B(k);
Pour j=1:n
A(i,j)=A(i,j)-c*A(k,j);
« Arret »

Pour i=n:-1:1
X(i)=B(i)
Pour j=i+1:n;
X(i)=X(i)-A(i,j)*X(j);
X(i)=X(i)/A(i,i);

« Afficher les solution »

 Le programme Matlab :
%programme de la méthode élimination de gausse
clear all;
clc;
a=[10 5 5 0;2 5 7 4;4 4 1 4;-2 -2 1 -3];
b=[25 1 12 -10];
n=length(a);
for k=1:n-1
if a(k,k)==0
disp('le pivot est nul')
break
else
for i=k+1:n

Réaliser par ZEDDOUNE LAKHDAR Page 11


c=a(i,k)/a(k,k);
b(i)=b(i)-c*b(k);
for j=1:n
a(i,j)=a(i,j)-c*a(k,j);
end
disp('la matrice triagulaire est:')
disp(a)
end
end
end
for i=n:-1:1
x(i)=b(i);
for j=i+1:n;
x(i)=x(i)-a(i,j)*x(j);
end
x(i)=x(i)/a(i,i);
end
disp('les solution sont')
disp(x)

EXON02:

 L’organigramme de la factorisation:
Donner la matrice (A) ; et le vecteur solution (B)

Déclarer un compteur(K) qui caractérise l’étape

Triangularisation de la matrice (A) par élimination de Gauss

Former la matrice (L) a partir des coefficients de la


triangularisation (avec L une matrice triangulaire inferieur
identité)

Injecter les éléments de la matrice (A) ;dans la


matrice (U)

Résolution de système
Résolution L.{Y}={B}
de système U.{X}={Y}

Réaliser par ZEDDOUNE LAKHDAR Page 12


« Afficher les solutions »

 Le programme Matlab :
clear all;
clc;
A=[1 2 3;2 1 2;3 1 -4];
n=length(A);
b=[-5;-5;6];
for k=1:n
L(k,k)=1;
for i=1+k:n
L(i,k)=A(i,k)/A(k,k);
for j=k:n
A(i,j)=A(i,j)-L(i,k)*A(k,j);
end
end
for j=k:n
U(k,j)=A(k,j);
end
end
%Résolution de systéme L{Y}=b:
for i=1:n
y(i)=b(i)
for j=1:i-1
y(i)=y(i)-L(i,j)*y(j);
end
end
%Résolution de systéme U{X}=y:
for i=n:-1:1
x(i)=y(i);
for j=1+i:n
x(i)=x(i)-U(i,j)*x(j);
end
x(i)=x(i)/U(i,i);
end
disp('U=')
disp(U)
disp('L=')
disp(L)
disp('x=')
disp(x)

Réaliser par ZEDDOUNE LAKHDAR Page 13


TPN°4:Intégration numérique
o EXON01:

 L’organigramme de la méthode des Trapèzes:

Etant donné un domaine d’intégration : [a,b]

Etant donné (n) :le nombre de subdivision

Alors le pas h=(b-a)/n

La fonction F(x) :est donner

∫ ❑ F ( x ) dx= h2 . ¿)
a

« Afficher la solution »

 Le programme Matlab :
%programme de la méthode de trapèze:
clear all;
clc;
a=0;
b=1;
n=4;
h=(b-a)/n;
x=a:h:b;
f=exp(-x.^2);
s=(f(1)+f(n+1))/2;
for i=2:n

Réaliser par ZEDDOUNE LAKHDAR Page 14


s=s+f(i);
end
s=s*h;
disp('s=')
disp(s)

après l’exécution: >> s= 0.7430

o EXON02:
L’organigramme de la méthode des Simson:

Etant donné un domaine d’intégration : [a,b]

Etant donné (n) :le nombre de subdivision(doit être paire)

Alors le pas h=(b-a)/n

La fonction F(x) :est donner

n n

( )
−1
b 2 2
h
∫ ❑ F ( x ) dx= 3 . F ( a ) + F ( b )+ 2. ∑ F (x ( 2 i ))+4. ∑ F ( x ( 2 i−1 ))
a i=1 i=1

« Afficher la solution »

 Le programme Matlab :
%programme de la méthode de Simson:
clear all;
clc;
a=0;
b=1;
n=4;

Réaliser par ZEDDOUNE LAKHDAR Page 15


h=(b-a)/n;
x=a:h:b;
f=exp(-x.^2);
s=0;
for i=0:n/2-1
s=s+f(2*i+1)+4*f(2*i+2)+f(2*i+3);
end
s=s*h/3;
disp('s=')
disp(s)

>> s= 0.7469

Réaliser par ZEDDOUNE LAKHDAR Page 16

Vous aimerez peut-être aussi