До сих пор я был полу-успешным в решении и построении графика нелинейной оды dn / dt = n ^ 2-2n-3 для двух начальных условий, n (0) = - 5 и n (0) = 1,но когда я добавляю одну последнюю строку в график с начальным условием n (0) = 10, все становится странным, и график не выглядит так, как предполагается, или ведет себя как две другие строки.
код:
import numpy as np
import matplotlib.pyplot as plt
import scipy.integrate
#import warnings
#warnings.simplefilter('ignore')
def func(N, t):
return(N**2 - 2*N - 3)
tvec = np.arange(0,11)
s_1 = scipy.integrate.odeint(func, y0=-5,t = tvec)
s_2 = scipy.integrate.odeint(func,y0=1, t=tvec)
s_3 = scipy.integrate.odeint(func, y0 = 10, t=tvec)
%matplotlib inline
plt.plot(tvec,s_1, label="N0=-5")
plt.plot(tvec,s_2, label="N0=1")
plt.plot(tvec, s_3, label="N0=10")
plt.ylim(-5,10)
plt.legend();
виновник здесь s_3.
Есть идеи, как это исправить?