Tracer la représentation d'une fonction
Bonjour à tous,
Débutante en Python, je dois modéliser un problème biologique, à savoir la concentration de mélatonine. Le graph se présente sous forme de concentration en fonction du temps sur une durée de 48h.
Mon code se lance, mais la fenêtre supposé afficher le graph se ferme immédiatement.. Je ne comprends donc pas... Serait ce un soucis d'index out of range ?
Voici le code :
Merci beaucoup d'avance!
Code:
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 28 29 30
| import numpy as np
import matplotlib.pyplot as plt
def func(N,n_steps):
alpha=1.5
k=0
B=0
for i in range(1,int(n_steps)):
N[i]= N[i-1]+(alpha+k*N[i-1]-B*N[i-1])*dt
if 0 < i < 4000 or 10000 < i <= 15000:
k=0
B+= 1/4000
elif 4000 < i < 6000:
k+=1/2000
B=0
else :
k-=1/4000
B=0
simulated_time= 48
dt= 0.001
n_steps = round(simulated_time / dt)
N=np.zeros(n_steps)
N[0]=8
time_range = dt*np.arange(n_steps)
func(N,n_steps)
plt.plot(time_range,N) |