0% ont trouvé ce document utile (0 vote)
25 vues2 pages

Lagrange M

Transféré par

nel.ngatchangue
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 TXT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
25 vues2 pages

Lagrange M

Transféré par

nel.ngatchangue
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 TXT, PDF, TXT ou lisez en ligne sur Scribd

function polynome_lagrange()

clc;
disp('=== Générateur de Polynôme de Lagrange ===');
disp('Ce programme vous permet de générer un polynôme à partir des points et de
calculer ses images.');

% Étape 1 : Demander le nombre de points


while true
try
n = input('Entrez le nombre de valeurs (>= 2) que vous voulez entrer :
');
if n < 2 || ~isnumeric(n) || floor(n) ~= n
error('Vous devez entrer un entier >= 2.');
end
break;
catch ME
disp(['Erreur : ', [Link]]);
end
end

% Étape 2 : Entrer les valeurs x et leurs images y


x = zeros(1, n);
y = zeros(1, n);
disp('Veuillez entrer les coordonnées des points :');
for i = 1:n
while true
try
x(i) = input(['x(', num2str(i), ') : ']);
y(i) = input(['y(', num2str(i), ') : ']);
break;
catch
disp('Erreur : Entrée invalide. Essayez à nouveau.');
end
end
end

% Vérifier si les valeurs de x sont distinctes


if numel(unique(x)) ~= n
disp('Erreur : Les valeurs de x doivent être distinctes.');
return;
end

% Étape 3 : Générer le polynôme de Lagrange


lagrange_poly = lagrange(x, y);
disp('Le polynôme de Lagrange généré est :');
disp(poly2str(lagrange_poly, 'x'));

% Étape 4 : Calculer des images pour de nouvelles valeurs


while true
disp('=== Calcul des images ===');
try
new_x = input('Entrez une valeur pour laquelle calculer l''image (ou
"exit" pour quitter) : ', 's');
if strcmpi(new_x, 'exit')
disp('Programme terminé. Merci d''avoir utilisé ce programme !');
break;
end
new_x = str2double(new_x);
if isnan(new_x)
error('Entrée invalide. Entrez un nombre ou "exit" pour quitter.');
end
new_y = polyval(lagrange_poly, new_x);
disp(['Pour x = ', num2str(new_x), ', y = ', num2str(new_y)]);
catch ME
disp(['Erreur : ', [Link]]);
end
end
end

function poly = lagrange(x, y)


% Fonction pour générer le polynôme de Lagrange
n = length(x);
poly = 0;
for i = 1:n
L = 1;
for j = 1:n
if j ~= i
L = conv(L, [1, -x(j)]) / (x(i) - x(j));
end
end
poly = poly + L * y(i);
end
end

Vous aimerez peut-être aussi