Contents Welcome Presentation soft
xxxxxxxxxx
def f_0(t,y,params):return[params[0]*y[0]*(1-y[0]/params[1])*((y[0]-params[2])/params[1])]
#r1=0.2
B=ode_solver()
B.algorithm="rk8pd"
B.function=f_0
def _(r1=slider(0,1,0.05,default=0.2, label='r'), a=slider(0,20,1,default=5), K=slider(1,20,1, default=20), N0=slider(0,20,1,default=8), t_perturb=slider(0,200,1,default=51, label='Disturb time'),
perturb=slider(-20,20,0.5,default=0, label='Disturb') ):
B.ode_solve(y_0=[N0],t_span=[0,t_perturb],params=[r1,K,a],num_points=499)
a1=B.solution
B.ode_solve(y_0=[a1[499][1][0]+perturb],t_span=[0,200-t_perturb],params=[r1,K,a],num_points=500)
a2=B.solution
lista1=[]
for i in range(len(a1)):
A1= [(a1[i][0],a1[i][1][0])]
lista1=lista1+A1
for i in range(len(a2)):
A2= [(a2[i][0]+t_perturb,a2[i][1][0])]
lista1=lista1+A2
pt1=plot(line(lista1), color='blue', thickness=2, axes_labels=["Time","N"], ymin=0, ymax=K+1)
pt2=line([(0,a),(200,a)],linestyle='dashed',color='red')
show(pt1+pt2, figsize=[12,5])