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 :

Convergence d'une série


Sujet :

Calcul scientifique Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 3
    Par défaut Convergence d'une série
    Bonjour à tous, je dois écrire un programme concernant la convergence d'une série. Voilà la consigne:
    Nom : info 1.png
Affichages : 2015
Taille : 155,7 Ko

    J'ai essayé d'écrire un programme mais il ne marche pas, le voilà:

    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
    18
    def S(x,n):
        return sum(((-1)**k/(k+1))for k in range(n+1))
     
    import numpy as np
     
    X=np.linspace(-2.1,2.1,1000)
     
    import matplotlib.pyplot as plt
     
    plt.axis([-2.1,2.1,-1,10])
     
    for k in [5,10,20,100,200]:
     
        Y=[S(x,k) for x in X]
     
        plt.plot(X,Y)
     
    plt.show()
    Autre problème je n'ai pas utilisé la fonction Premier_n() et la bibliothèque "math"

    J'espère que vous pourrez m'aider.

    Merci

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 776
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 776
    Par défaut
    Salut,

    Citation Envoyé par student1997 Voir le message
    Autre problème je n'ai pas utilisé la fonction Premier_n() et la bibliothèque "math"
    Si l'exercice est d'écrire une fonction premier_N qui utilise math.ln, çà serait bien de commencer par là, non?

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mai 2014
    Messages : 25
    Par défaut
    BONSOIR BIG , je ne sais pas si jai bien compris ton sujet mais voici un élément qui pourrait t'aider


    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    #-*- coding: utf-8 -*-
    __author__ = 'sphinx'
     
    from math import log
     
    def conv_serie(n):
        """fonction qui retourne la somme"""
     
        somme = sum([(-1)**k/(k+1) for k in range(n+1)])
        print(somme)
        return somme
     
    def premier_n(n):
        """ Fonction de renvoi du premier entier n tq |Sn - ln(2)| <= 10**(-3) """
     
        result = abs(conv_serie(n) - log(2))
        if result <= 10**(-3):
            return True
        else:
            return False
     
    i = 0
    while True:
        if premier_n(i):
            print('le premier entier n est: %s' % i)
            break
        i += 1

  4. #4
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    Cela serait plus agréable si vous postiez le code entre balises de code (#) ...

  5. #5
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Comme il n'est pas demandé de calculer séparément S et n, on peut tout faire d'un seul coup (Python 3):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    import math
     
    def Premier_n():
        ln2 = math.log(2)
        epsilon = 10**(-3)
        s = 0
        k = 0
        while True:
            s += (-1)**k/(k+1)
            if abs(s-ln2)<=epsilon:
                return k # c'est le n cherché
            k += 1
     
    print("n=", Premier_n())
    Et si je ne me suis pas trompé, ça donne n=499

  6. #6
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par défaut
    Attention : la discussion est taggée "Python2.X".
    La somme (s) vaut toujours 0 et le code proposé par Tyrtamos ne converge pas (car Python 3) !
    En Python 2, penser à float()

Discussions similaires

  1. Convergence d'une série
    Par Benouwite31 dans le forum Mathématiques
    Réponses: 2
    Dernier message: 02/06/2013, 01h37
  2. Réponses: 0
    Dernier message: 14/05/2008, 20h36
  3. Convergence d'une série
    Par j.p.mignot dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 24/11/2005, 19h27
  4. Compression d'une série d'images jpeg
    Par Tchello dans le forum Langage
    Réponses: 3
    Dernier message: 31/08/2003, 19h59
  5. Créer une série dans un chart
    Par cyrose dans le forum C++Builder
    Réponses: 5
    Dernier message: 28/11/2002, 11h37

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