Interpolation de Lagrange

Tout ce qui concerne notamment les outils de calcul numérique, de calcul formel ou de géométrie.
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
rouxc

Interpolation de Lagrange

Message non lu par rouxc »

Bonjour à tous,

je cherche à écrire l'algorithme d'interpolation lagrangienne sous Maple (version 10) : http://fr.wikipedia.org/wiki/Interpolation_lagrangienne

En fait, j'ai un petit problème d'entrée, pour calculer les Lk. Voici ce que je rentre :

Code : Tout sélectionner

> restart;
> with(linalg):
Warning, the protected names norm and trace have been redefined and unprotected

> Lk:=proc(x,n)local S1,S2,i,k,L;
>   L:=vector(n,0):
>   for k from 1 by 1 to n do
>        S1:=1:
>        S2:=1:
>        print('x[k]'=x[k]);
>        for i from 1 by 1 to n do
>              if (i!=k) then
>                 print('x[i]'=x[i]);
>                 S1:=S1*(x-x[i]):
>                 print('S1'=S1);
>                 S2:=S2*(x[k]-x[i]):
>                 print('S2'=S2);
>              else end if:   
>        end do:
>   end do:
> end proc:
> 
> n:=3:
> x:=vector(n,[1,2,3]);
                            x := [1, 2, 3]
> Lk(x,n);
                               x[k] = 1
                               x[i] = 1
                              S1 = x - 1
                                S2 = 0
                               x[k] = 2
                               x[i] = 2
                              S1 = x - 2
                                S2 = 0
                              x[k] = 3
Je ne comprends pas du tout pourquoi Maple ne fais pas de boucle sur i pour chacun des k allant de 1 à n. Du coup je ne peux pas terminer l'algo en faisant le quotient de S1 par S2 (division par 0) ... Quelqu'un peux m'en dire un peu plus ?

Merci d'avance :wink: .
Cordialement.

Clément.
OG
Modérateur spécialisé
Modérateur spécialisé
Messages : 2293
Inscription : lundi 12 mars 2007, 11:20
Localisation : Rouen

Re: Interpolation de Lagrange.

Message non lu par OG »

Code : Tout sélectionner

(i<>k)
O.G.
Répondre