是否有可能使用scipy.integrate.odeint將任何常微分方程在時間上向後積分 ? 如果有可能,有人能告訴我什麼應該是'odeint'的爭論'時間'。使用scipy odeint向後積分時間
0
A
回答
1
odeint
處理t
參數的負值。不需要特殊處理。
下面是一個例子:
import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt
def mysys(z, t):
"""A slightly damped oscillator."""
return [z[1] - 0.02*z[0], -z[0]]
if __name__ == "__main__":
# Note that t starts at 0 and goes "backwards"
t = np.linspace(0, -50, 501)
z0 = [1, 1]
sol = odeint(mysys, z0, t)
plt.plot(t, sol)
plt.xlabel('t')
plt.show()
情節:
0
您可以對變量s = t_0 - t
進行更改,並將差分方程相對於s
積分。 odeint不會爲你做這件事。
+0
非常感謝。但是,如何修改上面的代碼以在稍微阻尼的振盪器中引入時間延遲(比如time_delay = 1.5)?這正是我想要用我的系統做的事情。 – ADK
0
這是沒有必要作出變量的變化。這裏的一個例子:
import math
import numpy
import scipy
import pylab as p
from math import *
from numpy import *
from scipy.integrate import odeint
from scipy.interpolate import splrep
from scipy.interpolate import splev
g1=0.01
g2=0.01
w1=1
w2=1
b1=1.0/20.0
b2=1.0/20.0
b=1.0/20.0
c0=0
c1=0.2
wf=1
def wtime(t):
f=1+c0+c1*cos(2*wf*t)
return f
def dv(y,t):
return array([y[1], -(wtime(t)+g1*w1+g2*w2)*y[0]+w1*y[2]+w2*y[3], w1*y[2]-g1*w1*y[0], w2*y[3]-g2*w2*y[0]])
tv=linspace(100,0,1000)
v1zero=array([1,0,0,0])
v2zero=array([0,1,0,0])
v1s=odeint(dv,v1zero,tv)
v2s=odeint(dv,v2zero,tv)
p.plot(tv,v1s[:,0])
p.show()
我用Wolfram Mathematica檢查結果(該程序可以解決後向問題)。
相關問題
- 1. 鐘擺odeint積分
- 2. 使用scipy odeint集成
- 3. Scipy odeint停止
- 4. 暫停SciPy的odeint
- 5. 使用numpy數組與scipy odeint
- 6. Scipy積分出錯
- 7. 使用scipy二階ODE積分
- 8. 使用scipy odeint求解耦合微分方程的系統
- 9. 提高odeint的速度:重力積分
- 10. 當前迭代在scipy odeint
- 11. SciPy中的2D積分
- 12. 使用boost odeint進行精確的多維積分
- 13. Simulink中的向後積分
- 14. 如何使用scipy odeint獲得多種解決方案?
- 15. 從odeint scipy使用的函數提取值python
- 16. 在scipy中正常數值積分
- 17. 在scipy中選擇積分變量
- 18. 在scipy中集成多維積分
- 19. SciPy累積分佈函數繪圖
- 20. 使用scipy的trapz函數進行積分
- 21. DDE使用boost odeint
- 22. Python odeint的使用
- 23. 用於ODE系統的scipy odeint的錯誤
- 24. 這個用戶定義的函數如何與scipy集成odeint?
- 25. 控制時間步驟使用odeint(升壓)
- 26. 可以scipy計算(雙積分)複數值的積分(積分中的實部和虛部)嗎?
- 27. modelica中的時間積分穩定性
- 28. i10test積分/固定時間序列
- 29. 配置單元hbase積分時間戳
- 30. 用scipy終止ODE積分的代數約束
我懷疑你需要諮詢一個數學家。從數學上講,許多類ODE的向後整合是*不適當的*,即不能保證存在解決方案 – talonmies