Interpolation de Lagrange MATLAB
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Interpolation de Lagrange MATLAB



  1. #1
    thonytex

    Interpolation de Lagrange MATLAB


    ------

    Bonjour,
    Je suis actuellement un cours sur les interpolations de Lagrange.
    Le polynôme de Lagrange s’écrit Lj=(x-x(i))/(x(i)-x(j))
    J’essaye de le programmer sur MATLAB, alors je crée un vecteur x=(0:30);
    Puis je crée des boucles for.
    Alors je peut trouver facilement les valeurs de x(i) et x(j) mais pour la valeur de x, je ne comprend pas.
    Lorsque je calcul à la main, je garde en en tant que variables et je trouve une fonction de x, mais MATLAB ne peut pas faire ça.
    Je ne vois pas comment écrire un programme qui trace l’interpolation polynomiale d’un tableau de valeur à cause du x
    Est-ce que vous pouvez m’expliquer à quoi correspond ce x ?

    Merci d’avance
    BONNE JOURNÉE

    -----

  2. #2
    Paraboloide_Hyperbolique

    Re : Interpolation de Lagrange MATLAB

    Bonjour,

    Matlab trace des graphes "discrets" en reliant par des segments des points dans le plan. A vous de décider du "x". Par exemple si vous souhaitez tracer votre interpolation dans le domaine [0, 4] avec 1000 points, définissez x par x = linspace(0, 4, 1000);

  3. #3
    thonytex

    Re : Interpolation de Lagrange MATLAB

    Bonjour,
    Oui c’est ce que j’ai pensée à faire au début, sauf que MATLAB me donne une erreur de dimension
    Exemple: x est un vecteur, x(j) un scalaire.
    Alors si je fais x-x(j) (vecteur - scalaire), MATLAB l’affiche erreur de dimension
    Cordialement
    Bonne journée

  4. #4
    gg0
    Animateur Mathématiques

    Re : Interpolation de Lagrange MATLAB

    Bonjour.

    Je ne suis pas spécialiste de de Matlab (j'ai seulement utilisé Scilab il y a 20 ans), mais il y a sans doute une opération qui permet de soustraire à chacune des coordonnées un nombre. Au pire, tu construiras un vecteur de la bonne dimension dont toutes les composantes sont égales à x(j).
    D'autres remarques :
    "Puis je crée des boucles for." toujours une mauvaise idée en Matlab : le langage est construit sur des matrices (le mat de Matlab), elles évitent de faire des boucles. Cherche des tutoriels sur Matlab, tu y gagneras beaucoup).
    "Le polynôme de Lagrange s’écrit Lj=(x-x(i))/(x(i)-x(j))" ??? J''espère que c'est un énorme (et fautif) raccourci d'écriture.

    Cordialement.

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

    Re : Interpolation de Lagrange MATLAB

    Citation Envoyé par thonytex Voir le message
    Bonjour,
    Oui c’est ce que j’ai pensée à faire au début, sauf que MATLAB me donne une erreur de dimension
    Exemple: x est un vecteur, x(j) un scalaire.
    Alors si je fais x-x(j) (vecteur - scalaire), MATLAB l’affiche erreur de dimension
    Non, l'opération (vecteur - scalaire) est légale en Matlab: cela retire la valeur du scalaire à toutes les composantes du vecteur. Votre erreur de dimension doit venir d'ailleurs. Difficile cependant d'en dire plus sans votre code.

    "Le polynôme de Lagrange s’écrit Lj=(x-x(i))/(x(i)-x(j))" ??? J''espère que c'est un énorme (et fautif) raccourci d'écriture.
    J'avais remarqué, et je pense que c'est bien le cas. C'est pour ça que je n'avais pas relevé.

Discussions similaires

  1. interpolation de lagrange
    Par lolote311 dans le forum Mathématiques du supérieur
    Réponses: 5
    Dernier message: 22/12/2013, 11h49
  2. Interpolation de Lagrange?
    Par yuki-kurama dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 09/02/2012, 10h29
  3. interpolation de lagrange
    Par invite5917d706 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 16/02/2010, 22h28
  4. Interpolation de lagrange
    Par invite4ca9df98 dans le forum Mathématiques du supérieur
    Réponses: 5
    Dernier message: 01/02/2010, 17h30
  5. Polynômes d'interpolation de Lagrange
    Par rouday_s dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 04/03/2008, 18h06