documentation對於scipy.integrate.ode.integrate
沒有描述relax
參數的作用。它有什麼作用?打開源代碼顯示它是一個布爾標誌,但是我得到了。在scipy集成器中做什麼「放鬆」
2
A
回答
3
簡短回答:該參數只給該方法一個權限返回一個不太確切的答案。保持默認值False。它與放鬆僵硬的系統無關。
龍回答:本current version of documentation解釋了這個參數作爲
放鬆:布爾
如果真,如果積分支持run_relax方法,然後整合到T -1> = T和回報。如果step = True,則不會引用relax。提供此參數是爲了暴露實現的內部,並且在大多數情況下不應該從其默認值更改。
英文:integrate
方法取值爲t
您要評估解決方案。但是積分器自己選擇步長,一般來說t不會是它擊中的點之一。如何處理這個?
- 默認情況下,求解直到某點t1> = t,然後t處的值通過插值(在t1和前一個值之間)計算。
- 但是,如果
relax=True
,計算解決方案達到某個點t1> = t,並返回在t1的值。沒有內插。
當然,這意味着該方法超調並返回一個不太準確的值,所以它不是您想要接受的最終答案。它可能在實現自己的插值的更復雜的算法中很有用,但很難想象在SciPy級別會發生這種情況,因爲t1不會被返回。例如:將y'= y與y(0)= 1進行積分。確切的解決方案是y = exp(t)。比較精確解和兩個近似在t = 0.1計算:
from scipy.integrate import ode
r = ode(lambda t, y: y).set_integrator('vode').set_initial_value(1, 0)
print(np.exp(0.1), r.integrate(0.1), r.integrate(0.1, relax=True))
輸出:
1.10517091808 1.10517178 1.10959337
隨着放鬆=真過沖是非常明顯的。
相關問題
- 1. 與scipy集成
- 2. .Net - 什麼是「放鬆」?
- 3. 在scipy中集成多維積分
- 4. 與ASP.NET輕鬆集成的最佳視頻播放器?
- 5. 在sympy中做符號集成的快速方法是什麼
- 6. SciPy子彈ODE集成
- 7. 使用scipy odeint集成
- 8. 將scipy與java集成
- 9. 在Perl中做什麼=〜做什麼?
- 10. 垃圾收集器在收集死對象時會做什麼?
- 11. 在Angle中集成Brightcove播放器
- 12. python中的scipy quad集成問題
- 13. 集團是做什麼的?
- 14. 在SciPy中,什麼是「線性」插值?
- 15. Android中的條帶集成,之後要做什麼?
- 16. f.object在Rails表單生成器中做了什麼?
- 17. 在AVAudioPlayer播放前做點什麼
- 18. 什麼::(成員方法名稱)在C++中做什麼
- 19. 爲什麼在PayPal集成中爲零?
- 20. Scipy:泊松擬合不適用於特定的數據集
- 21. 什麼是Oracle數據集成器?
- 22. 撤消放鬆在MongoDB中
- 23. 垃圾收集器在這種情況下會做什麼?
- 24. Migrator.net在Up()中放置表,在Down()中做什麼?
- 25. 當我把(DateTime)放在DataBinder.eval前面什麼時候做什麼
- 26. Scipy分析集成分段函數
- 27. 與Python/Numpy/Scipy的三重集成
- 28. SciPy的四路集成:準確警告
- 29. 在SCIP LP放鬆
- 30. Scipy負距離?什麼?
一旦你停止關心它的價值應該設置爲'真正',否則默認爲'False'。 –
運行:'''使用y0作爲初始條件從t = t0到t = t1進行積分。返回2元組(y1,t1)'''run_relax:''從t = t0到t> = t1的積分返回(y1,t)''' – sascha
@sascha這實際上是一個很酷的功能。我會接受這個答案。 – drhagen