四阶龙格_库塔算法的C语言实现.pdf
2 1 3 # 1
1 JOURNAL OF JIAOZUO UNIVERSITY Mar . 2 1
C
毋 玉 芝
( )
本文叙述了四阶龙格 库塔算法的C 语言实现过程数据存储及其结果的 线显
示, 并以具体实例说明了这一过程
龙格 库塔算法 数据存储 线显示
,
,
1.
:
y n+ 1 = yn + h (K 1 + 2K 2 + 2K 3 + K 4) / 6 ;
K 1 = f ( x n , yn ) ;
K 2 = f ( x n + h/ 2, y n + K 1 h/ 2) ;
K 3 = f ( x n + h/ 2, y n + K 2 h/ 2) ;
K 4 = f ( x n + h, y n + K 3 h) ;
: h ; K 1 x n ;
K 2 K 1 ( x n + h/ 2) ;
K 3 K 2 ( x n + h/ 2) ;
K 4 K 3 ( x n + h) ;
2. C
21
h , ,
, ,
, , C
22
, , fopen ( )
, fprintf () , ,
:
if(fp= = NU LL)
{
printf(!Can∀t open this file\ n!) ;
exit( ) ;
}
for( i= ; i< = j; i+ + )
{
t= ts+ i* h;
56 2 1 3
fprintf(fp,!t= %3. 2f\ n!, t) ;
fprintf(fp,!x= %8. 5f !, x [ i] ) ;
fprintf(fp,!y= % 8. 5f !, y[ i] ) ;
fprintf(fp,!z= % 8. 5f \ n!, z[ i] ) ;
}
fclose(fp) ;
23
,
graph ()
graph ( ) C , C : moveto
() outtextxy () lineto () setbkcolor () ,
closegraph () :
void graph()
{
int gdrive, gmode= VGAHI
gdrive= VGA;
initgraph( & gdrive, & gmode,!d:\ tc2 !) ;
∃∃( )
closegraph() ;
3.
%&
:
x ∀ ( t ) = - x ( t) + 6x ( t) + 2x ( t ) ;
1 1 2 3
x ∀ ( t ) = - x ( t) + 3x ( t) + 2sin( t) ;