本次求解微分方程,用4階龍格庫塔方法,該方法的代數精度高,比尤拉法,三階龍格庫塔都高,本次的實現很粗糙,由於本人沒有熟練掌握函式指標的方式,對於不同微分方程,並不能做到乙個普適的輸入版本,所以本演算法只能對本次的微分方程適用,等掌握了函式指標的用法,再來重寫,這次的演算法很簡陋,也沒有做一些越界的異常處理、判斷。
**如下:
//龍哥庫塔方法求解微分方程
/* *4階龍格庫塔方法,運用了經典公式
*微分方程如下: y'=y-2x/y;
y(0)=1;
*函式的輸入:陣列x是自變數區間陣列,陣列y是自變數區間y,h為步長的大小,begin為區間的起始,end為區間的末端
*進行測試的時候,需要自己估算區間的大小,暫時還沒有實現自動的功能~.~
*/#include
using
namespace
std;
void runge_kutta(double *x, double* y,double h,double begin,double end)
二階偏微分方程組 龍格庫塔法 四階龍格庫塔法
建議閱讀原文 預備知識中點法解常微分方程 組 龍格庫塔法是一類數值解微分方程的演算法,其中較常見的是四階龍格庫塔法 這裡不進行推導,僅僅給出公式如下 其中 由以上兩式,不難把該演算法拓展到方程組的情況 對於 元微分方程組 我們可以把該式記為向量函式的形式 現在我們僅需要把式 1 和 式 2 中的所有...
四階龍格庫塔法
這裡主要講一下如何用c語言程式設計運用四階龍格庫塔法求解微分方程組。對於所舉例子,只是為了說明龍格庫塔法不僅可以解一階線性微分方程,高階非線性也可通過降階後按照經典四階龍格庫塔法公式逐步求解。只要選取合適的步長h,就能夠平衡速度和精度,達到求解要求。至於例子中的一級倒立擺的物理含義沒有提及到,各種方...
龍格庫塔法求微分方程
首先,我們可以知道一階龍格庫塔法的表示式 上述式子可以改寫成如下式子 這裡我們可以看成k是在步長為h情況下,函式的增長量,f x,y 為函式y的斜率。這個式子其實比較好理解的。然後我們來看二階龍格庫塔的推導過程 二階情況下一般表示式中就只有k1和k2了,二階龍格庫塔我們可以看成是一階表示式的乙個變形...