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

  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 : 26
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 3
    Points : 2
    Points
    2
    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 : 1816
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 sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 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
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mai 2014
    Messages : 25
    Points : 39
    Points
    39
    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 chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Cela serait plus agréable si vous postiez le code entre balises de code (#) ...
    Pas d'aide par mp.

  5. #5
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    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 462
    Points : 9 249
    Points
    9 249
    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
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  6. #6
    Membre expérimenté 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 : 59
    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
    Points : 1 481
    Points
    1 481
    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()
    "La simplicité ne précède pas la complexité, elle la suit." - Alan J. Perlis
    DVP ? Pensez aux cours et tutos, ainsi qu'à la FAQ !

  7. #7
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    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 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bien vu, plxpy et désolé, je n'avais pas fait attention au "Python 2".

    En effet, avec Python 2, pour des raisons historiques, un entier divisé par un entier donne un entier (donc: 1/3 => 0).

    Pour que Python2 calcule comme Python 3, on peut simplement ajouter au tout début de la page de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    from __future__ import division
    Avec cette ligne Python 2 calculera comme Python 3 (1/3 => 0.33333...).
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

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