Vous êtes sur la page 1sur 3

Compte rendus du TP d’analyse numérique

Section A groupe 03
BOULARAS Lyna 20150008648
DOUADI Ibrahim Walid 161632005137
Exercice 01 :
 L’interpolation de Hermite :

Le polynôme de Hermite est donné par :


n
2
P ( x ) =∑ ( yiDi ( x ) + y ' i ( x−xi ) )∗( Li ( x ) )
i=0
Avec
n
x−xj 1
L i ( x ) =∏ C i ( x ) =∑
j=0 xi−xj , j =0 xi−xj , D i=1−2 ( x−xi )∗Ci
j≠ i j ≠i

1. On écrit une fonction Matlab nommée (interpolation Hermite), permettant l’implémentation de


la méthode d’Hermite pour n+1 donnés :

function [C]=sum_frac(x)
n=length(x);
For i=1:n
C=0; %cette foncion permet de calculer la somme Ci
for j=1:n
if i~=j
C = C + 1/( x(i) - x(j) );
end
end
end
end

function [D]=calc_D(x)
n=length(x);
syms X;
D=0;
%cette fonction calcul Di
for i=1:n
D = 1- 2*(X-x(i)) * sum_frac(i) ;

end
end

function [L]= polynome_elemntaires(x)


n=length(x);
for i=1:n
L=1;
%cette fonction permet de calculer les polynomes Li(x)
for j=1:n
if i~=j
L=conv(L,[1-x(j)] / ( x(i)-x(j) ) );
end
end

end
end

%Le programme principale


function P=interpolation_Hermite(~,~,~)
x=input('Donner les points d"interpolation xi, x=');
y=input('Donner les points d"interpolation yi, y=');
v=input('Donner les points d"interpolation vi=, v=');
n=length(x);
P=zeros(1,n);
syms X;
%Le calcul du polynome
for i=1:n
P = P + (( y(i) * calc_D(i) + v(i) * (X-x(i)) ) *
(polynome_elemntaires(i)).^2) ;
end

%On trace sur la meme figure le polynome et les points d'interpolation


hold on,plot(x,y,'g-.'),subs(P),hold off

%On donne un titre pour le graphe


title('Graphe de polynôme d"Hermite, X et Y en deux dimensions')

end

2. Le graphe en deux dimensions :


Exercice 02 :

function T = MaintainNonDominated(~)
disp('Voici un programme qui étant donnée une matrice (m,2) renvoi une
matrice de vecteurs non dominés');
M=input('Donner une matrice de taille (M*2), M=');
m=length(M(2,2));
for i=1:m
j=1;
if (M(i,j)) < M(i,j+1)||M(i+1,j)<M(i+1,j+1)&&(M(i,j)<=M(i+1,j))
A=[M(i,j);M(i+1,j)];
elseif (M(i,j)) < M(i,j+1)||M(i+1,j)<M(i+1,j+1)&&(M(i,j)> M(i+1,j))
A=[M(i+1,j);M(i,j)];
elseif (M(i,j)) > M(i,j+1)||M(i+1,j)>M(i+1,j+1)&&(M(i,j+1)<=M(i+1,j+1))
A=[M(i,j+1) ; M(i+1,j+1)];
elseif (M(i,j)) > M(i,j+1)||M(i+1,j)>M(i+1,j+1)&&(M(i,j+1)>M(i+1,j+1))
A=[M(i+1,j+1);M(i,j+1)];
end
if i~=1
T =[T , A];
else if i==1
T=A;
end
end
end
end