Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random as rnd
- import matplotlib.pyplot as plt
- import numpy as np
- def u(n):
- L = [0]
- for i in range(0, n):
- L.append(L[len(L) - 1] + rnd.choice([1/2, -1/2]))
- return [L[2*p] for p in range(0, len(L) // 2)]
- # n = 1000000
- # plt.plot([x for x in range(0, n//2)], u(n))
- # PARTIE IV
- def integrale(points, f, a, b):
- valeurs = []
- integrales = []
- somme = 0
- for i in range(0, points):
- valeurs.append(f(rnd.uniform(a, b)))
- integrales.append(sum(valeurs) / points)
- for valeur in valeurs:
- somme += valeur
- plt.plot([x for x in range(0, points)], integrales)
- return somme / points
- # print(integrale(99999, lambda x:1/(1+100*(x-2)*(x-2)),1,3))
- # PARTIE V
- def creerCarre(n, x):
- xs, ys = [], []
- for i in range(0, n):
- xs.append(rnd.uniform(-x/2, x/2))
- ys.append(rnd.uniform(-x/2, x/2))
- return xs, ys
- def chevre(R, brins, xO, yO, pas):
- brins = genererBrins(R, brins)
- LPossibles = genererL(R, pas)
- brinsManges, brinsPasManges = [0 for i in range(101)], [0 for i in range(101)]
- i = 0
- L = 0
- while L < R:
- for brin in brins:
- if (np.sqrt(xO-brin[0]*np.cos(brin[1])**2+(yO-brin[0]*np.sin(brin[1]))) <= L):
- brinsManges[i] += 1
- else:
- brinsPasManges[i] += 1
- print(L)
- i += 1
- L += pas
- return brinsManges, brinsPasManges
- def genererL(R, pas):
- renvoye = [0]
- for i in range(1, int(R / pas)):
- renvoye.append(renvoye[len(renvoye) - 1] + pas)
- return renvoye
- def genererBrins(R, brins):
- brins = creerCarre(brins*2, R)
- X = []
- Y = []
- bonBrins = []
- for i in range(len(brins[0])):
- if ((brins[0][i])**2 + (brins[1][i])**2 <= R):
- bonBrins.append([brins[0][i], brins[1][i]])
- X.append(brins[0][i])
- Y.append(brins[1][i])
- return bonBrins
- print(chevre(10, 500, 10, 0, 0.1))
Advertisement
Add Comment
Please, Sign In to add comment