這是我在這裏的第一個問題,所以請對我輕鬆點。我想知道是否有一種方法來整合ODE系統,直到找到指定變量的本地最大值。這裏是一些更多的細節:我可以與scipy的odeint進行整合,直到找到本地最大值?
讓我們打電話給我們的ODE系統dX/dt = F(X) where X(t) = [x1(t), x2(t), ... , xn(t)]
。假設這個系統的解決方案被吸引到一個穩定的極限循環C,但在一個不穩定的固定點p處。選擇一些初始條件X0非p,而不是C.我們要遵循解決方案的軌跡:
dX/dt = F(X), X(0) = X0 (*)
只是直到X1(t)達到它的第一個局部最大值。
進度: 使用scipy.integrate.odeint我能夠找到限制週期C和它的週期T的解決方案,但從任意一點開始,唯一能解決這個問題的方法是求解(*)一個'長時間'(也許是4 * T),並且假設這段時間足夠長,那麼在事實之後確定x1的第一個局部最大值。我的大型項目需要多次完成,所以我儘量減少計算時間。似乎有必要有一個更快的方法來做到這一點,而不寫我自己的頌歌解算器。
我可能(而且可能)讓這個過於複雜?如果你想用不同的方式來做到這一點,我將不勝感激任何建議。
日suite套件(可通過例如Assimulo訪問)具有根查找功能他們的解決者CVODE和IDA。 – Moritz