IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Calcul scientifique Python Discussion :

scipy et polynômes d'Hermite (forme physique)


Sujet :

Calcul scientifique Python

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 104
    Par défaut scipy et polynômes d'Hermite (forme physique)
    Bonjour,

    Je voudrais intégrer la forme physique des polynômes d'Hermite dans mon code. Du coup, j'ai regardé la documentation de scipy à ce sujet (ici) mais pas moyen de trouver simplement le calcul d'un polynôme. Par exemple, "hermval(x, c[, tensor])" calcule la série d'Hermite avec un coéficient devant chaque polynôme mais moi, je voudrais simplement pouvoir appeler le polynôme d'ordre n et le calculer pour un vecteur de type sp.linspace. Du coup, suis-je bigleux ou bien n'y a-t-il pas le calcul tout simple inclus dans le package "numpy.polynomial.hermite" ?

  2. #2
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2013
    Messages : 388
    Par défaut
    Salut,
    Je ne comprends pas ce qui bloque. Il y a la méthode linspace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #!/usr/bin/python3
    # -*- coding: utf-8 -*-
     
    import numpy as np
    import numpy.polynomial.hermite as ph
    import matplotlib.pyplot as plt
     
    if __name__ == '__main__':
        n = 6
        for i in range(1, n):
            c = np.zeros(n) ; c[i] = 1
            p = ph.Hermite(c)
            plt.plot(*p.linspace(), label=str(i))
        plt.legend()
        plt.show()
    Nom : poly_hermite.png
Affichages : 1372
Taille : 39,9 Ko

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 104
    Par défaut
    Merci pour la réponse.

    J'ai peut-être mal compris le fonctionnement de cette méthode mais n'y a-t-il pas un moyen plus simple ?
    Plus précisément, j'ai une matrice x de nombre réels et je voudrais calculer les valeurs du polynôme pour toutes les valeurs de x avec un truc assez simple. Quelque chose comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    axis = sp.linspace(-length/2,length/2,nb_points)
    x, y = sp.meshgrid(axis,axis)
    n = 3
    result = hermite(n,x)
    où n est l'ordre du polynôme et x contient les valeurs à partir desquelles calculer le polynôme.

    Après, je suis peut-être encore un peu trop habitué à matlab (mais je me soigne) où cette fonction était directement intégrée comme cela.

  4. #4
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2013
    Messages : 388
    Par défaut
    Ca n'existe pas tel quel, mais tu peux créer la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    def hermite(n, x):
        c = np.zeros(n) ; c[-1] = 1
        return ph.hermval(x, c)

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 104
    Par défaut
    Merci pour votre réponse.

    En fait, j'ai finalement trouvé la fonction scipy.special.eval_hermite qui fait cela. Je ne cherchais donc pas au bon endroit.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 87
    Dernier message: 06/07/2011, 15h33
  2. Héritage entre Forms
    Par BarBal dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 17h44
  3. [Kylix] SIGSEGV 11 - creation form
    Par pram dans le forum EDI
    Réponses: 1
    Dernier message: 29/08/2002, 15h24
  4. [FORMS] Chemin des icones (intégré FAQ 150 QR)
    Par jerome62 dans le forum Forms
    Réponses: 2
    Dernier message: 30/07/2002, 08h32
  5. Form principale non visible au demarrage!!!!
    Par toufou dans le forum Composants VCL
    Réponses: 2
    Dernier message: 20/07/2002, 21h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo