CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[PYTHON] Visualiser l'esperance en fonction de N

Canito-94
Canito-94
Niveau 7
06 novembre 2020 à 16:37:23

Salut j'ai un exercice sur Python et je vous avoue que je tente des trucs mais les programmes lagent donc je vous demande votre avis, de plus ça marche pas :rire:

Voilà l'exercice :

https://image.noelshack.com/fichiers/2020/45/5/1604676925-image.png

La marche symétrique c'est +1 avec 1/2 et -1 avec 1/2 (donc bernouilli presque)

Donc du coup je simule le temps que la marche met pour arriver à 10 :

def bern(p):
    if rand() < p:
        return 1
    else:
        return -1
    
def simulation():
    X = 0
    t = 0
    while X <= 10:
        X = X + bern(0.5)
        t += 1
    return t

Ca je pense que c'est pas dur mais c'est après comment on visualise l'esperance ?

J'ai essayé de faire une liste mais ça bloque au bout de 1000 elements du coup je suis resté à 200 elements (que je trouve peu)

J'ai fait ça :

L = []

for i in range(1,200):
    L.append(simulation())
    
L = np.cumsum(L)

M = []

for i in range(1,205):
    a = L[i]/i
    M.append(a)
    
plt.plot(M)

Mais c'est très laborieux, bref hésitez pas à m'aider je suis un peu perdu là :(

Canito-94
Canito-94
Niveau 7
06 novembre 2020 à 16:37:57

Sachant qu'à la fin j'ai eu l'erreur :

IndexError: index 199 is out of bounds for axis 0 with size 199

Canito-94
Canito-94
Niveau 7
06 novembre 2020 à 16:39:44

Ah ça marche j'ai changé un truc
L = [] for i in range(200): L.append(simulation()) L = np.cumsum(L) M = [] for i in range(200): a = L[i]/(i+1) M.append(a) plt.plot(M)

C'est juste du coup ?

Canito-94
Canito-94
Niveau 7
06 novembre 2020 à 16:41:28

Pour 1000 ça met 5 heures à charger genre je suis obligé de rester à 200

Pseudo supprimé
Pseudo supprimé 06 novembre 2020 à 16:41:38

normal qu'à la fin tu plantes, dans ta 2e boucle tu fais appel à L[200] qui n'existe pas

Canito-94
Canito-94
Niveau 7
06 novembre 2020 à 16:48:59

Le 06 novembre 2020 à 16:41:38 MecaFlu a écrit :
normal qu'à la fin tu plantes, dans ta 2e boucle tu fais appel à L[200] qui n'existe pas

Yep j'ai changé

Mais maintenant je peux pas utiliser des N trop grands

Genre N = 500 ça marche

Mais N = 1000 ça me trop de temps

blue-tamere
blue-tamere
Niveau 12
06 novembre 2020 à 17:10:14

Quelle partie met trop de temps? A priori la calcul de L est proportionnel au nombre d'iteration, en faire 1000 ca devrait prendre deux fois plus de temps qu'en faire 500

Sous forums
  • Métiers & Orientation
  • Histoire
  • Cours et Devoirs
  • Politique
  • Environnement & Nature
  • Philosophie
La vidéo du moment