Apprendre Maple Index du Forum Apprendre Maple
Site dédié au logiciel de calcul formel Maple
 
  Page d'accueilPage d'accueil   FAQFAQ    RechercherRechercher    Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs 
S'enregistrerS'enregistrer    ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

interpolation de lagrange

 
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Polynômes et fractions rationnelles
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
kmyou



Inscrit le: 01 Mai 2007
Messages: 1

MessagePosté le: 01 Mai 2007 14:41    Sujet du message: interpolation de lagrange Répondre en citant

Bonjour,
Je n'ai jamais travailler sur maple et dans le cadre d'un exercice je dois donner un programme maple.
Il faut construire les polynomes d'interpolation da lagrange de la fonction f(x)=1/(1+x²) aux points {-1,0,1,2} et tracer la courbe par les deux methodes suivantes:
methode de lagrange et methode des differences finies et voir ce qu'il se passe aux points de Tchebitchev.
Pouvez vous m'aider
merci
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
zozo



Inscrit le: 03 Jan 2013
Messages: 125

MessagePosté le: 02 Mai 2007 9:49    Sujet du message: Répondre en citant

Salut, tu trouveras une partie de ta réponse ici: http://alamanya.free.fr/themes/interp.htm
A+
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 02 Mai 2007 10:03    Sujet du message: Répondre en citant

Bonjour, au sujet de la méthode des différences finies, je pense que l'on doit utiliser l'opérateur nabla de différence décroissante décrit par R.Théodor dans son livre "Initiation à l'analyse numérique" chez Masson p 105.
Je l'avais programmé il y a quelque temps. Voici le texte de l'exercice et le corrigé en Maple:

Code:

Exercice:

a) f étant une fonction de IR dans IR , soit l'opérateur nabla défini pour tout n réel par :

                        nabla(f)(n) = f(n) - f(n - 1)

    Définir cet opérateur nabla .


b) si  f: x ->1/(1+x²) , afficher pour k=0,1,2,3 les images au point réel n par la fonction

                               (nabla@@k)(f)
   
c'est à dire (nabla o . . . o nabla)(f) , nabla étant composé k fois avec lui-même .


c) définir la fonction c à 2 variables p et q telle que :

                               p (p - 1) ... (p - q + 1)
                     c(p, q) = -------------------------
                                     factorial(q)       

d) soit la procédure PolyNewton(f,a,b,n,x) définie par :

      f est une fonction de IR dans IR ,
      [a,b] est un intervalle de IR que l'on découpe en n intervalles de même longueur h ,
      x est le nom de la variable réelle .
      On pose s=(x-b)/h .

      PolyNewton calcule un polynôme P de IR[x] défini par la formule de Newton :

                        n                                   
                       -----                                 
                       \                                     
                        )                                   
            P(x) =     /    (-1)^k  c(-s, k) (nabla@@k)(f)(b)
                      -----                                 
                      k = 0                                 
     
      Ecrire la procédure PolyNewton et la tester sur f: x ->1/(1+x²) pour [-8,-3] découpé
      en 5 intervalles de même longueur.

e) vérifier que le polynôme P obtenu par la procédure PolyNewton est le polynôme
    d'interpolation de Lagrange de f aux points d'abscisses -8,-7,-6,-5,-4,-3.
    NB: la fonction CurveFitting[PolynomialInterpolation] permet de calculer ce polynôme
   d'interpolation de Lagrange .

f) vérifier graphiquement le résultat précédent.


Corrigé Exercice:

nabla:=f->unapply(f(n)-f(n-1),n);
                  nabla := f -> unapply(f(n) - f(n - 1), n)

b)
f:=x->1/(1+x^2):for k from 0 to 3 do (nabla@@k)(f)(p) od;
                                     1   
                                   ------
                                        2
                                   1 + p
                              1           1     
                            ------ - ------------
                                 2              2
                            1 + p    1 + (p - 1)
                      1           2              1     
                    ------ - ------------ + ------------
                         2              2              2
                    1 + p    1 + (p - 1)    1 + (p - 2)
               1           3              3              1     
             ------ - ------------ + ------------ - ------------
                  2              2              2              2
             1 + p    1 + (p - 1)    1 + (p - 2)    1 + (p - 3)

c)
c:=(p,q)->product(p-i,i=0..q-1)/q!;
                                       q - 1         
                                     ,--------'       
                                        |  |         
                                        |  |         
                                        |  |   (p - i)
                                        |  |         
                                       i = 0         
                      c := (p, q) -> -----------------
                                       factorial(q)   

d)
PolyNewton:=proc(f::operator,a,b,n,x::name)
    local h,s,k,P;
    h:=(b-a)/n;s:=(x-b)/h;
    P:=0;
    for k from 0 to n do
        P:=P+(-1)^k*c(-s,k)*(nabla@@k)(f)(b);
    end do;
    unapply(sort(expand(P)),x);
end proc;
        PolyNewton := proc(f::operator, a, b, n, x::name)  ...  end;
N:=PolyNewton(f,-8,-3,5,x);
              33    5    269    4   14223   3   2841   2   86526      2137
  N := x -> ------ x  + ------ x  + ------ x  + ----- x  + ------ x + ----
            817700      204425      817700      24050      204425     3145

e)
X:=[-8,-7,-6,-5,-4,-3];
                        X := [-8, -7, -6, -5, -4, -3]
Y:=[seq(f(X[k]),k=1..nops(X))];
                             [1   1   1   1   1   1 ]
                        Y := [--, --, --, --, --, --]
                             [65  50  37  26  17  10]
CurveFitting[PolynomialInterpolation](X,Y,x);
         33    5    269    4   14223   3   2841   2   86526      2137
       ------ x  + ------ x  + ------ x  + ----- x  + ------ x + ----
       817700      204425      817700      24050      204425     3145

f)
plot({f(x),N(x)},x=-8..-3);




A plus tard.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Polynômes et fractions rationnelles Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


phpBB

Développé par phpBB © 2001, 2006 phpBB Group
Traduction par : phpBB-fr.com


Apprendre Maple - ©  - Alain Le Stang - Navigation optimisée pour une résolution 1024 x 768.