Matlab Polynôme de Lagrange
Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

Matlab Polynôme de Lagrange



  1. #1
    invitecbbe8793

    Matlab Polynôme de Lagrange


    ------

    Bonjour,

    J'ai un fonction sur l'intervalle [-1,1], qui doit permettre de mettre en évidence le phénomène de RUNGE.
    Mon problème pour le moment est de déterminer le polynôme de Lagrange en utilisant au mieux les fonctions préprogrammées de Matlab. Je pensais donc aux fonctions "Polyfit" et "Polyval". J'ai beau eu à réfléchir ou chercher sur Internet, mais je n'ai rien trouvé.

    Pourriez vous m'aider ?

    Merci par avance

    -----

  2. #2
    Scorp

    Re : Matlab Polynome de Lagrange

    Le problème, c'est que je ne suis pa sûr que polyfit utilise les polynomes de Lagrange pour approximer ta fonction. Du coup, tu ne verras peut être pas (ou pas bien) le réel effet de Runge.

    Utilise plutôt une routine Matlab : tu te crée une fonction qui prend en entrée les coefficients ai, et te renvoie les polynomes de Lagrange Lj.

    Ensuite, tu fais une autre routine qui prend en entrée ta fonction f(x) (tu estimes au passage la valeur de ta fonction au point ai). Ainsi, tu peux utiliser ta première routine pour approximer ta fonction en faisant .

    tu pourras ainsi voir (avec un plot par exemple) l'évolution de l'approximation de ta fonction f(x) par les polynomes selon la façon dont tu choisi les coef ai (et donc le degré du polynome d'approximation). Notamment, tu pourras voir qu'en utilisant les ai comme les "les points de Tchebychev ", tu pourrais limiter le phénomène de Runge

  3. #3
    invitecbbe8793

    Re : Matlab Polynome de Lagrange

    Merci pour ta réponse.Effectivement j'aurais pu essayer de faire ca.. Bon en fait j'ai réussi à faire ces polynômes de Lagrane avec polyfit et polyval.

    Par contre je suis sur les noeuds de Tchebychev. On me donne la formule à savoir, mais je n'arrive pas à mettre ca en forme (avec une boucle for je pense)..J'aurais juste besoin d'aide pour calculer ces noeuds..

  4. #4
    Scorp

    Re : Matlab Polynome de Lagrange

    Les xi correspondent aux racines du polynome de Tchebychev de degré n. Or de mémoire, la formule que tu donnes est inexacte. J'aurais plutôt dit : (à confirmer)

    Pour répondre à ta question : je ne pense pas que tu aies besoin de for.
    Essaye de la facon suivante (je n'ai pas Matlab sous les mains, donc je ne peux pas garantir que ca marche bien) :

    Rq : j'utilise ma formule des xi, et non la tienne


    N= ### ; (met la valeur à la place de ###)
    y=1:2:2*N-1; (construit un vecteur de 1 à 2N-1 avec un pas de 2)
    y=y*.(3.14159/(2*N)); (multiplie chaque composante du vecteur par pi/2N )
    x=cos(y);

  5. A voir en vidéo sur Futura
  6. #5
    invitecbbe8793

    Re : Matlab Polynome de Lagrange

    Merci beaucoup pour ton explication. En fait j'ai utilisé les noeuds que l'on m'a donné dans le sujet, mais peut être y a t'il une erreur.
    En tout cas je te remercie pour ton aide.

    Pourrais je te demander une dernière chose : aurais tu une idée pour faire une interpolation à l'aide du polynôme de Hermite ?

    je pensais utiliser une relation démontrée en cours à savoir :

    où Li(x) est le polynôme de Lagrange et le polynôme de Hermite est la somme de i à n de

    Mais je n'arrive pas à programmer ca sur Matlab (problème de tailles de vecteurx..)

  7. #6
    Scorp

    Re : Matlab Polynome de Lagrange

    Je pense que le plus simple est de les construire par récurrence.
    On a H0(x)=1 et H1(x)=x

    Ensuite, tu utilises

  8. #7
    invitecbbe8793

    Re : Matlab Polynome de Lagrange

    Excuse moi, je n'ai pas pu répondre tout de suite pour cause de soucis avec Internet. Je te remercie pour ton information, mais j'aurais une dernière question : comment réaliser dans Matlab une relation de récurrence, comme celle ci ?

    Merci et bonnes fêtes à tous !!

  9. #8
    Scorp

    Re : Matlab Polynôme de Lagrange

    pour le coup, tu peux utiliser une boucle for sur n de 2 à N. Tu spécifies au début H0(x) et H1(x).
    Dans ta boucle, il suffit de placer la relation de récurrence.

    Au final, Matlab devrait te faire un vecteur avec en 1ere composante H0, en 2e H1 etc ... jusqu'à HN

  10. #9
    invitecbbe8793

    Re : Matlab Polynôme de Lagrange

    Merci pour ton explication.Mais en fait je me demandais au niveau syntaxique sur Matlab ca donnerait quoi?
    Par exemple
    H[0]=1;
    H[1]=x
    ou cela se fait autrement ?

  11. #10
    Scorp

    Re : Matlab Polynôme de Lagrange

    ha oui, le problème c'est que Matlab est conçu pour travailler avec des matrices. Et les polynômes n'échappent pas à la règle : l'objet polynome n'existe pas. Pour le définir, il faut en fait passer par sa matrice des coeffcients.
    Donc pour P(x)=1+2x+5x² il faut définir P=[5 2 1] (on commence par le degès le plus haut : donc ici 5)
    Pour estimer la valeur de ce polynome en un point, par exemple en x=8, il faut utiliser polyval(P, 8)

    La relation de recurrence que tu as à programmer est assez simple.
    Par exemple, pour x.Hn(x), il te suffira d'ajouter 1 à tous les coeffcients de Hn.

  12. #11
    invitecbbe8793

    Re : Matlab Polynôme de Lagrange

    Merci pour ta réponse.
    En fait j'ai un problème :
    J'ai bien créé un vecteur h(1,N)..
    Pour initialiser h(0)=1, comment faire pour dire qu'il y a des 1 sur tous les coefficients??

Discussions similaires

  1. Polynôme de Lagrange
    Par invite8741c18e dans le forum Mathématiques du supérieur
    Réponses: 9
    Dernier message: 26/12/2009, 17h03
  2. Polynome, Lagrange, SEV ... (à l'aide!)
    Par invitee50a1bfa dans le forum Mathématiques du supérieur
    Réponses: 7
    Dernier message: 17/03/2008, 07h11
  3. Automatique. Passage d'un polynôme en p à un polynôme en Z
    Par invite1bf94880 dans le forum Physique
    Réponses: 1
    Dernier message: 14/03/2008, 11h03
  4. polynome, m paramètre , différentes valeurs degré du polynome
    Par invited7a80298 dans le forum Mathématiques du collège et du lycée
    Réponses: 8
    Dernier message: 15/10/2007, 17h54
  5. Polynome de Lagrange
    Par invitef24f96d2 dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 26/12/2005, 19h04