Interpolation 2d
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

Interpolation 2d



  1. #1
    naffrancois

    Interpolation 2d


    ------

    Salut,

    Je suis à la recherche d'un algo d'interpolation 2D d'ordre au moins 3, je dispose de nuages de points (sets de 12 points) et je ne connais que la valeur en ces points, pas les dérivées. Dans un premier temps je ne me soucie pas de considérations de couts en ressources cpu. J'ai bien trouvés des algos basés sur les splines cubiques, mais ceux-ci nécessitent quatre points initiaux qui forment un rectangle, moi je n'ai que des nuages de points arbitrairement repartis

    auriez-vous des suggestions ?

    -----

  2. #2
    obi76

    Re : Interpolation 2d

    Le spline cubique du Numerical Recipies ne nécessite pas une disposition régulière sur les abscisses. A creuser.

    Cela dit, je ne sais pas comment tu compte faire une dérivée d'ordre 3 si tu n'as pas au moins 4 points....
    \o\ \o\ Dunning-Kruger encore vainqueur ! /o/ /o/

  3. #3
    naffrancois

    Re : Interpolation 2d

    bonjour

    es-tu certain ? je vais regarder à nouveau mais il me semblait bien qu'en input les routines splie et compagnie du numerical recipes demandaient un rectangle, je vais revérifier. Je ne comprends pas la deuxième partie du message, car j'ai jusqu'à douze points, de plus pour une approx d'ordre trois je crois que je n'ai besoin que des dérivées secondes non ?

    et oui finalement je me soucie du cout, sinon une simple interpolation polynomiale suffit, mais nécessite l'inversion de matrices pleines...

  4. #4
    naffrancois

    Re : Interpolation 2d

    alors après vérif, tout du moins la version que j'ai prend en entrée un maillage de rectangles, orthogonal non nécessairement orthonormé je pense, mais pas des points arbitrairement répartis

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

    Re : Interpolation 2d

    Pour ma part, tu as une initialisation qui te donne la dérivée seconde et indépendante de la répartition des points (du moment que 2 points n'ont pas la même abscisse), et ensuite le spline à proprement parler qui utilise cette dérivée seconde...
    \o\ \o\ Dunning-Kruger encore vainqueur ! /o/ /o/

  7. #6
    naffrancois

    Re : Interpolation 2d

    merci pour ton aide,

    voilà ce que j'ai:
    Code:
          SUBROUTINE splie2(x1a,x2a,ya,m,n,y2a)
          INTEGER m,n,NN
          REAL x1a(m),x2a(n),y2a(m,n),ya(m,n)
          PARAMETER (NN=100)
    CU    USES spline
          INTEGER j,k
          REAL y2tmp(NN),ytmp(NN)
          do 13 j=1,m
            do 11 k=1,n
              ytmp(k)=ya(j,k)
    11      continue
            call spline(x2a,ytmp,n,1.e30,1.e30,y2tmp)
            do 12 k=1,n
              y2a(j,k)=y2tmp(k)
    12      continue
    13    continue
          return
          END
    C  (C) Copr. 1986-92 Numerical Recipes Software ]u]w#!!0,)#!$!.
    ça c'est la première routine qui calcule les dérivées, en entrée x, y et f(x,y) stockés dans les variables x1a(m), x2a(n) et ya(m,n). Pour moi les dimensions de x1a, x2a et ya impliquent obligatoirement que x1a et x2a forment un maillage rectangulaire. D'ailleurs dans le bouquin ils expliquent un test case avec un maillage 10x10 uniforme, je ne comprends peut-être pas ? merci de m'aider en tout cas c'est sympa
    Dernière modification par naffrancois ; 10/12/2009 à 12h29.

  8. #7
    obi76

    Re : Interpolation 2d

    Ce n'est pas ce que j'avais. Là je ne vais pas avoir le temps de te montrer ce que j'ai, je m'en occuperai demain.

    Cdlt,
    \o\ \o\ Dunning-Kruger encore vainqueur ! /o/ /o/

  9. #8
    invitea774bcd7

    Re : Interpolation 2d

    J'ai un truc Mathematica qui fait ça… C'est ce package si ça t'intéresse
    Ça marche bien pour une distribution quelconque de coordonnées

  10. #9
    naffrancois

    Re : Interpolation 2d

    bonjour guerom00 et merci pour le link

    oui il y a effectivement une fonction d'interpolation pour des données non structurées dans ton lien. Cependant je ne peux utiliser matematica, car la finalité de mon boulot n'est pas l'interpolation, je dois implémenter l'algo dans un code fortran/c

Discussions similaires

  1. Interpolation
    Par invite3bbb55bc dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 29/01/2009, 20h35
  2. interpolation
    Par ABN84 dans le forum Mathématiques du supérieur
    Réponses: 6
    Dernier message: 02/12/2008, 00h01
  3. Interpolation 2D
    Par Koranten dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 04/05/2008, 21h16
  4. Interpolation
    Par invite769a1844 dans le forum Mathématiques du supérieur
    Réponses: 5
    Dernier message: 11/01/2008, 10h43
  5. interpolation
    Par invite769a1844 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 09/01/2008, 20h44