Нелинейный генератор фазового портрета

Мне нужно получить Фазовый портрет системы при E = 0,5.

Если вы увеличиваете указанный интервал t, то выскакивает ошибка: ODEintWarning: Превышена работа над этим вызовом (возможно, неправильный тип Dfun). Запустите с full_output = 1, чтобы получить количественную информацию. warnings.warn (warning_msg, ODEintWarning), как с этим бороться? [1]: /wp-content/uploads/2021/05/67592649-im-1.png [2]: /wp-content/uploads/2021/05/67592649-im-2.png</ а>

#E=0.5 
t2=linspace(-1,1,1000)
m=1
k=4
beta=1
x0=-sqrt(8)
def v0(x0,E0,k,m,beta):
    v1=np.sqrt((2*(E0-k*x0**2/2+beta*x0**4/4))/m)
    return v1
def f(y,t):
    x,v = y
    return [v, (-k*x+(beta*x**3))/m]
result3 = odeint(f,[x0,v0(x0,0.5,k,m,beta)],t2)
x3 = result3[:,0]
v3 = result3[:,1]
plot(x3,v3)
xlabel('x')
ylabel('v')
xlim(-4,4)
ylim(-7,7)
grid()

Этот пост может быть хорошим началом (та же ошибка):

stackoverflow.com/questions/66732046/   —  person grom    schedule 19.05.2021

См. также:  Есть ли более эффективный способ получения пакетов из набора данных hdf5?
Понравилась статья? Поделиться с друзьями:
IT Шеф
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: