Inscription / Connexion Nouveau Sujet
Niveau Maths sup
Partager :

tracé de courbe python

Posté par
elog18
18-12-17 à 18:12

Bonsoir!
Voila j'ai un petit soucis pour tracer une courbe avec le logiciel ...
j'y arrive quand il s'agit de fonction simple, prenant ne entrée une valeur, mais la il s'agit d'une fonction prenant en entrée trois valeurs...
la fonction en question est la simulation d'une loi de probabilité.
La fonction :

def loiNt(t,n,a):
    proba=[0]*(n+1)
    omega=[x for x in range(n+1)]
    simul = [Nt(t,n) for k in range (a)]
    c=0
    for k in range(n+1):
        for i in simul:
            if i==k:
                c+=1
            proba[k]=c/len(simul)
    return omega,proba


et voici ce que j'ai essayé de faire ...  je comrpend pourquoi sa ne fonctionne pas, car je n'ai pas la même dimension en abscisse et en ordonnée mais je ne vois pas comment réglé le soucis ...        
      
from matplotlib.pyplot import plot,show
n=10
t=0.5
a=1000
X=[(x) for x in range(n+1)]
Y=[(loiNt(t,n,a)) for i in X]
plot(X,Y)
show()

Posté par
bbomaths
re : tracé de courbe python 18-12-17 à 20:43

Bonsoir.

Où est définie Nt(t,n)  ?

Posté par
elog18
re : tracé de courbe python 18-12-17 à 21:46

Nt(tn) prend ces valeurs dans [1,n]

Posté par
bbomaths
re : tracé de courbe python 18-12-17 à 21:56

Le problème est que Nt(t, n) est perçue comme une fonction appelée avec 2 arguments. Je ne vois pas de déclaration def Nt(t, n)  et cette fonction n'est pas une fonction native  de Python

Posté par
verdurin
re : tracé de courbe python 18-12-17 à 22:04

Bonsoir,
je ne connais pas bien python mais

 return omega,proba
me semble suspect.

Posté par
bbomaths
re : tracé de courbe python 18-12-17 à 22:10

@verdurin, bonsoir.

Il n'y a aucun problème avec Python pour retourner différentes valeurs avec un return en fin  de fonction.

Posté par
verdurin
re : tracé de courbe python 18-12-17 à 22:39

Merci bbomaths.
Pour ne pas polluer ce fil, j'en ai ouvert un autre fonction python : return.

Si tu voulais bien y jeter un coup d'œil je t'en serais reconnaissant.

Posté par
bbomaths
re : tracé de courbe python 19-12-17 à 05:09

Bonjour.

Pour l'utilisation de MatplotLib, je vous conseille d'importer les librairies suivantes :



# module de tracage de courbes
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker

# module de calcul numerique
import numpy as np


Vous pourrez alors formater l'axe des x facilement comme suit  :

X = np.linspace(X_MIN, X_MAX, X_NB)


Et récupérer le 'vecteur' X pour le calcul puis l'affichage.

Vous devriez expliquer un peu plus ce que vous voulez faire

Posté par
elog18
re : tracé de courbe python 19-12-17 à 19:18

Bonsoir,
la fonction Nt est une fonction que j'ai programmer auparavant, et qui simule une variable aléatoire.
loiNt simule la loi de la variable aléatoire et je voudrai représenter graphqiuement loiNt , mais je n'y parviens pas car elle prend 3 arguments en entrée.

def Nt(t,n):
    #n le nombre de voiture
    #t le temps
    L=[]
    k=0
    for U in range (n):
        U=random()
        if U<t :
            L.append(U)
        else :
            U=U+1
    return len(L)

Posté par
bbomaths
re : tracé de courbe python 20-12-17 à 06:15

Bonjour.

Une remarque :

R1 : j'éviterais dans une boucle "for x in range()" d'utiliser la variable x comme variable de calculs intermédiaires. Cela peut prêter à confusion.

Quelques questions...

Q1 : à quoi sert k s'il n'est pas utilisé ?

Q2 : quelle est la finalité de la liste L puisque à la fin seule la taille de cette liste vous intéresse ? Un compteur ne suffirait-il pas ?

Q3 : à quoi sert U = U + 1 puisque U va être modifié juste après par U = random() ?

Q4 : la fonction random() est-elle la fonction random() de la librairie random.py ?

Q5 : si oui, comme random() retourne un flottant compris entre 0.0 et 1.0, le temps t est-il aussi compris entre 0.0 et 1.0 ?

Posté par
elog18
re : tracé de courbe python 21-12-17 à 17:54

bonsoir, merci pour votre réponse.

Q. en effet k ne sert à rien, j'avais oublié de l'enlever de mon précédent programme.

Q2. je suis d'accord que faire un compteur aurai été suffisant et certainement plus judicieux, je suis juste plus a l'aise avec les listes ...

Q3. il est vrai que sa ne sert à rien...

Q4/5. oui c'est bien sa, j'ai utilisé random car j'utilise une loi uniforme, et dans mon cours c'est comme cela que l'on simule une loi uniforme ...

Posté par
bbomaths
re : tracé de courbe python 21-12-17 à 20:10

Bonsoir.

Corrigez votre fonction...

Expliquez ce que vous voulez faire (calculs, ...). Un code sans un minimum de commentaires est un code inutilisable...

Puis nous passerons à l'affichage... dès que tout sera clair



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1674 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !