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] probleme scipy fonction bessel


Sujet :

Calcul scientifique Python

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Points : 4
    Points
    4
    Par défaut [SciPy] probleme scipy fonction bessel
    bonjour,

    j'ai un problême avec les fonctions de bessel, qui ne donnent pas le bon résultat.
    mon code est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    from numpy import*
    from scipy import special
     
    y=special.jv(3,4)
    print y
    à l'exécution, le résultat est y=0.3971, alors que le bon résultat est y=0.4302

    volia, je ne sais si j'ai fais une erreur dans mon programme ou s'agit il d'un bug

    Merci

  2. #2
    Membre éclairé
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Points : 872
    Points
    872
    Par défaut
    Tu peux me dire ce qu'est la fonction de bessel?

    MErci, moi sur numpy j'avais aussi des petits soucis d'interprétations. Alors j'ai reprogrammé certain petits trucs.
    [SIZE="2"]Dis moi qui tu suis, je te dirais qui je Hais!
    Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

    Mon premier Tutoriel


    A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Points : 4
    Points
    4
    Par défaut probleme scipy fonction bessel
    Merci pour ta réponse,
    les fonctions de Bessel sont très utilisées en modélisation électromagnétique, tu peux voir http://fr.wikipedia.org/wiki/Fonction_de_Bessel

    et moi je les utilise dans la résolution numérique des équations de Maxwell .
    et si ça donne de mauvais résultats coimme celui que j'ai cité, alors là c'est mal parti

    Merci

  4. #4
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Peut-être que c'est une valeur qu'il ne calcule pas et qu'il connaît par défaut (donc l'erreur serait là)
    parce que j'ai testé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> special.jv(3, 3.9999999)
    0.430171469726
    et on a bien la bonne valeur.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Merci Guigui,

    peut-être? mais si on veut faire un algorithme qui fait des milliers de calculs, on ne peut pas à chaque faire un test pour savoir si c'est une valeur qu'il connait ou qu'il calcule. Je trouve qu'ici l'erreur est vraiment grande comme même.

    Merci

  6. #6
    Membre éclairé
    Avatar de parp1
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    829
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 829
    Points : 872
    Points
    872
    Par défaut
    Et en essayant :

    Est ce que ca peut fonctionner?
    [SIZE="2"]Dis moi qui tu suis, je te dirais qui je Hais!
    Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

    Mon premier Tutoriel


    A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...

  7. #7
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Ce serait pas plutôt la fonction jn que tu dois utiliser ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> special.jn(3,4)
    0.430171473876
    En parcourant le fichier info.py du répertoire d'installation de scipy:
    Bessel Functions

    jn -- Bessel function of integer order and real argument.
    jv -- Bessel function of real-valued order and complex argument.
    jve -- Exponentially scaled Bessel function.
    yn -- Bessel function of second kind (integer order).
    yv -- Bessel function of the second kind (real-valued order).
    yve -- Exponentially scaled Bessel function of the second kind.
    kn -- Modified Bessel function of the third kind (integer order).
    kv -- Modified Bessel function of the third kind (real order).
    kve -- Exponentially scaled modified Bessel function of the
    third kind.
    iv -- Modified Bessel function.
    ive -- Exponentially scaled modified Bessel function.
    hankel1 -- Hankel function of the first kind.
    hankel1e -- Exponentially scaled Hankel function of the first kind.
    hankel2 -- Hankel function of the second kind.
    hankel2e -- Exponentially scaled Hankel function of the second kind.

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Salut parp1,

    Non, ça donne toujours le même résulat (ie 0.3671).

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Merci Guigui,

    Oui, je crois que la bonne fonction est special.jn, ça donne le bon résultat.
    en faisant une petite comapraison entre special.jv et special.jn, je trouve qu'elles donnent les mêmes résultats sauf pour la valeur (3,4). alors je ne vois pas la différence entre jn et jv


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    from numpy import*
    from scipy import special
    from pylab import*
    x=arange(0,20,0.01)
    for k in range(1,10):
    y1=special.jn(k,x)
    y2=special.jv(k,x)
    y=y1-y2
    plot(y)
     
    show()
    on voit un pic à x=4 et 0 ailleurs.

  10. #10
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Quelle version de scipy ?

  11. #11
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    J'ai fait les tests avec numpy 1.0.3 et scipy 0.5.2

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Bonjour à tous,

    J'utilise python 2.5, numpy 1.0.1 et scipy 0.5.2,

    en tous cas , special.jn fait bien ce que je veux

    un grand Merci à tous

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

Discussions similaires

  1. [scipy] Séries mathématiques - fonction comme argument d'une autre
    Par sebsainte dans le forum Calcul scientifique
    Réponses: 6
    Dernier message: 20/09/2007, 00h59
  2. Réponses: 17
    Dernier message: 24/03/2005, 12h24
  3. [langage] problème avec fonction read
    Par domidum54 dans le forum Langage
    Réponses: 2
    Dernier message: 30/03/2004, 20h42
  4. [VB6]Problème de fonction
    Par mustang-ffw02 dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 27/03/2004, 15h09
  5. Probleme de fonction
    Par yenna dans le forum ASP
    Réponses: 6
    Dernier message: 01/03/2004, 14h10

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