TPNMATLAB
TPNMATLAB
TPNMATLAB
Exon01:
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
clear all
format long
C :c’est la solution
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
x=
0.5178
it=
Choisir un épsilon
[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
[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
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
0.6823
15
TP N 02:Interpolation polynomiale
Déclaration de la variable X
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
B. Le programme Matlab :
x (x - 4) (x - 5)
-----------------
3
EXON2 :
Déclaration de la variable X
Pour i=1:n
Initialisation de la valeur initiale de Pr=1
f(X(i) ,X(i))=y(i)
Pour i=1:n-k
Pour
j=1:i-1
Pr=Pr*(X-X(j))
Pn=Pn+f(X(1),X(i))*Pr
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)
Pour K=1:n-1
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);
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
EXON02:
L’organigramme de la factorisation:
Donner la matrice (A) ; et le vecteur solution (B)
Résolution de système
Résolution L.{Y}={B}
de système U.{X}={Y}
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)
∫ ❑ 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
o EXON02:
L’organigramme de la méthode des Simson:
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;
>> s= 0.7469