常微分初值问题的数值解法课程设计 下载本文

目录

1.封面………………………………………………………………………1

2.任务书……………………………………………………………………2

3.目录………………………………………………………………………5

4.正文………………………………………………………………………6

5.评分表……………………………………………………………………

1

常微分方程初值问题的数值解法

(一)设计内容

一: 用显示欧拉方法,隐式欧拉方法,改进欧拉方法,梯形方法,R-K方法,加速方法设计求解一阶常微分方程?y'?f(x,y)y(x0)?y0的初值问题

?y''?f(x)二:二阶常微分方程?边值问题的有限差分法

y(a)?A,y(b)?B?(二)问题描述:

1:使用显示欧拉方法,隐式欧拉方法,改进欧拉方法,梯形方法,R-K方法求解常

?y'?x?y微分方程?的初值问题,并进行加速设计。

y(0)?1(x?[0,1])??y''?2y?x2:用有限差分法求边值问题?。 x?[0,1]的解(取h=0.05)

?y(0)?1,y(1)?3(三)程序运行结果

图1 显式欧拉方法的运行结果

2

图2 隐式欧拉方法的运行结果

图3 改进欧拉方法的运行结果

图4 梯形的方法的运行结果

3

图5 R-K方法的运行结果 (四)程序源代码: 一:显示欧拉方法源代码 #include #include #define F(x,y) x+y main() {

int a=0,b=1,i;

double y[50],x[50],h=0.1,n; y[0]=1.0,x[0]=0; n=(b-a)/h; for(i=0;i<=n;i++) { x[i]=a+i*h;

y[i+1]=y[i]+h*(F(x[i],y[i]));

printf(\ }}

4