四阶龙格库塔c语言,四阶龙格库塔算法的C语言实现
解微分方程
2001年3月焦作大學學報
JOURNALOFJIAOZUOUNIVERSITY№ 1Mar.2001第1期
四階龍格一庫塔算法的C語言實現
毋玉芝
(焦作財會學校)
摘要本文敘述了四階龍格一庫塔算法的C語言實現過程、數據存儲及其結果的曲線顯
示,并以具體實例說明了這一過程。
關鍵詞龍格庫塔算法數據存儲曲線顯示
在科學技術中常常需要求解常微分方程的定解問題,這就需要一種合適的數值解法求出常微分方程的解。在諸多數值算法中龍格一庫塔算法具有較高的精確度,是一種優先選取的算法。
1.四階龍格一庫塔算法簡述
龍格一庫塔方法實際上是間接地使用臺勞級數法的一種技術。
龍格一庫塔算法的數學描述如下:
Y。+l=y。+h (Kl+2K2+2K3+K4)/6;
Kl=廠(z。,Y。);
K2=f(z。+hi2,Y。+K1 h/2);
K3=f(z。+h12,Y。+K2 h/2);
K4=f(X。+h,y。+K3 h);
其中:h表示計算過程中選取的步長;K。表示X。點處的斜率;
K:表示利用K。求得的(z。+h/2)點處的斜率;
K,表示利用K:求得的(.717。+hi2)點處的斜率;
K。表示利用K,求得的(z。+h)點處的斜率;
2.C語言的實現過程
2.1算法實現
龍格一庫塔算法關鍵是選擇步長h,必須根據題目的要求選出合適的步長,這對龍格一庫塔算法結果的精確度及其平滑性尤為重要。在選擇了恰當的步長后,利用上述迭代表達式,并根據題目要求的迭代次數,或求解的精度,利用C語言加以實現。
2.2數據存儲
由于此計算結果數據龐大,程序運行后數據不可能一屏顯示,鑒于此首先利用fopen()函數創建并打開一文本文件,利用fprintf()函數將數據存儲到數據文件,可將此文件打印輸出,以檢驗結果的正確性。實現過程如下:
if(fp==NULL)
{
printf(”Can’t
exit(O);
}
for(i=0;i<=J;i++)
{t=ts+i*h:openthisfile\n,,);
總結
以上是生活随笔為你收集整理的四阶龙格库塔c语言,四阶龙格库塔算法的C语言实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大数相加c语言思路,大数相加
- 下一篇: c语言打砖块游戏代码,打砖块游戏的源代码