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 :

Somme infinie et convergence


Sujet :

Calcul scientifique Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Somme infinie et convergence
    Bonjour,

    J'essaie d'écrire une somme infinie d'exponentielles qui varient dans le temps (il s'agit d'une densité de probabilité pour le temps de diffusion à travers un solide) sur Python. Pour cela j'ai écrit :

    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
    16
    17
     
    import numpy as np
    D=1e-14
     
    def Un(n,t):
        return np.exp(-(2*n+1)**2*(np.pi**2)*D*t/l**2)
     
    def somme(t):
        if t==0:
            return 0
        else :
            n=0
            s=Un(0,t)
            while Un(n,t)>=0.01:
                n+=1
                s+=Un(n,t)
        return s*D*8./l**2
    Cette densité de probabilité diverge en 0, et donc je cherche une condition de convergence lorsque t est proche de 0. Avez-vous une meilleure idée que de mettre cette boucle while ?

  2. #2
    Membre émérite

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Points : 2 328
    Points
    2 328
    Par défaut
    Je ne comprends pas : si cela diverge pourquoi voulez vous en calculer la somme infinie ? Soit vous indiqué clairement à l'utilisateur qu'il ne faut pas qu'il calcule cela (en lui mettant un message d'erreur dans ce cas), soit vous couper la somme infinie à un endroit même si elle n'est pas convergée (et éventuellement, vous imprimez un warning).

    Lorsqu'on a des algos avec des critères d'arret dont on est pas sûr que cela se produise dans tous les cas, on met un nombre max d'iter en paramètre de la fonction. Comme ça on est sûr de s'arrêter à un moment, et ce moment es changeable via le paramètre.

    Votre fonction serait donc plutot :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    def somme(t, precision = 0.01, max_iter=1000):
        if t==0:
            return 0
        else :
            n=0
            s=Un(0,t)
            while Un(n,t)>=precision and n<max_iter :
                n+=1
                s+=Un(n,t)
            if n==max_iter :
                print("WARNING: Maximum number of iteration reached. The sum is not converged.")
            return s*D*8./l**2
    Mais oui sinon le while est la bonne méthode.

Discussions similaires

  1. somme infinie vb
    Par Invité dans le forum VB.NET
    Réponses: 1
    Dernier message: 21/03/2011, 14h02
  2. Somme de série entière et convergence
    Par SKone dans le forum Mathématiques
    Réponses: 9
    Dernier message: 18/12/2008, 10h29
  3. Somme infini avec exel
    Par afokbo dans le forum Excel
    Réponses: 4
    Dernier message: 04/07/2008, 13h26
  4. somme à l'infini
    Par NELLLY dans le forum Mathématiques
    Réponses: 7
    Dernier message: 12/12/2007, 15h54
  5. [CR ?] Somme d'heure sous Crystal ?
    Par Peter PARKER dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 17/04/2003, 16h24

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