Polynome de l'Hermite approximation via Scilab
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Polynome de l'Hermite approximation via Scilab



  1. #1
    invite4474ade1

    Polynome de l'Hermite approximation via Scilab


    ------

    Bonjour à tous,
    Je dois interpoler la fonction

    1/(1+x2)

    à l'aide du polynôme de l’Hermite ( http://lumimath.univ-mrs.fr/~jlm/tra...tab/node9.html) sur le logiciel scilab (peu connu je suppose)
    J'ai essayé avec ces lignes de code :

    Code:
    clear
    x=[-5:5:5];
    t=[-5:0.1:5];
    y=(1)./((x.^2)+1);
    w=((-2).*x)./((1+x.^2).^2);
    n=length(x);
    
    Qxj = 1
    S=0
    for i=1:n
    
        for j=1:n
          if i <> j then
            Qxj=Qxj.*((x(i)-x(j)).^2);
            S=S+((2)./(x(i)-x(j)));
            dQxj=Qxj.*S;
            end
        end
        L(i)= (w(i)-((dQxj)./(Qxj)).*y(i));
    end
    
    
    function z=f(t)
    
      for i=1:n
       z=0
         Qx=1
    
        for j=1:n
          if i <> j then
      Qx=Qx.*((t-x(j)).^2);
            
            end
        end
       
        z=z+(((t-x(j).*L(i))+1).*((Qx)./(Qxj)));
    end
    endfunction
    
    plot(t,(1)./((t.^2)+1).^2,'b',t,f(t),'r')
    Le "polynome" trouvé est égal à 0, cela doit venir que toutes les composantes ont des valeurs quasi nulles mais je n'arrive pas à voir l'erreur.

    Merci de votre aide

    -----

  2. #2
    NicoEnac

    Re : Polynome de l'Hermite approximation via Scilab

    Bonjour,

    Je ne connais pas la partie mathématique de votre problème mais il me semble que votre algorithme comporte une incohérence voire une erreur.
    Elle concerne l'instruction "z=0" de la fonction z=f(t). Vous l'incluez dans l'itération du for. Ne devrait-elle pas être en dehors ? Car sinon je ne comprends pas l'instruction de fin d'itération "z=z+ ...". En effet, à quoi bon incrémenté la variable "z" sachant que vous l'avez initialisé à 0 en début de boucle et pour chaque "i".

    Concrètement, voici votre code :

    Citation Envoyé par lip7on Voir le message
    Code:
    ...
    function z=f(t)
    
      for i=1:n
       z=0
         Qx=1
    
        for j=1:n
          if i <> j then
      Qx=Qx.*((t-x(j)).^2);
            
            end
        end
       
        z=z+(((t-x(j).*L(i))+1).*((Qx)./(Qxj)));
    end
    endfunction
    ...
    Voici le code qui me semble correct :

    Code:
    ...
    function z=f(t)
    
      z=0
    
      for i=1:n
    
         Qx=1
    
        for j=1:n
          if i <> j then
      Qx=Qx.*((t-x(j)).^2);
            
            end
        end
       
        z=z+(((t-x(j).*L(i))+1).*((Qx)./(Qxj)));
    end
    endfunction
    ...
    "Quand les gens sont de mon avis, il me semble que je dois avoir tort."O.Wilde

  3. #3
    invite4474ade1

    Re : Polynome de l'Hermite approximation via Scilab

    Merci beaucoup, cela est corrigé
    Cependant l'erreur persiste, cela vient peut être du Qx

    Code:
    Qx=Qx.*((t-x(j)).^2)

    car scilab affiche "variable non définie Qx"

Discussions similaires

  1. Résoudre un polynome avec scilab
    Par invitedde6ed90 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 18/08/2010, 18h51
  2. PB approximation d'une courbe par equation polynomiale SCILAB
    Par invited266632a dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 14/06/2010, 21h55
  3. Approximation courbe par polynome
    Par invite40f82214 dans le forum Mathématiques du supérieur
    Réponses: 6
    Dernier message: 05/04/2009, 02h38
  4. [Biotechnologie] Bernard l'hermite terrestre
    Par invite5f44d7c3 dans le forum Biologie
    Réponses: 0
    Dernier message: 08/08/2008, 19h00
  5. 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, 18h54