欧拉法与改进欧拉法.docx

上传人:牧羊曲112 文档编号:3602330 上传时间:2023-03-14 格式:DOCX 页数:3 大小:37.09KB
返回 下载 相关 举报
欧拉法与改进欧拉法.docx_第1页
第1页 / 共3页
欧拉法与改进欧拉法.docx_第2页
第2页 / 共3页
欧拉法与改进欧拉法.docx_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《欧拉法与改进欧拉法.docx》由会员分享,可在线阅读,更多相关《欧拉法与改进欧拉法.docx(3页珍藏版)》请在三一办公上搜索。

1、欧拉法与改进欧拉法一、目的 1通过本实验加深对欧拉法、改进欧拉法、龙格-库塔法、线性多步法的构造过程的理解; 2能对上述三种方法提出正确的算法描述编程实现,观察计算结果的改善情况。 二、内容与设计思想 自选常微分方程的初值问题,分别用欧拉法、改进欧拉法求解。 分别用以上两种方法求解常微分方程初值问题: y(x)=1+y2,(求解区间0.0,1.4,取步长h=0.1) y(0)=0.0 三、使用环境 操作系统:windons XP 软件平台:VC 6.0 四、核心代码及调试过程 #include #include #include double f(double x,double y) retu

2、rn (1+y*y); int main int i; double x,y,y0=1,dx=0.1; double xx11; double euler11,euler_211; double temp; double f(double x,double y); for (i=0;i11;i+) xxi=i*dx; euler0=y0; for (i=1,x=0;i11;i+,x+=dx) euleri=euleri-1+dx*f(x,euleri-1); euler_20=y0; for (i=1,x=0;i11;i+,x+=dx) printf(x=%lfteluer=%lfteuler

3、_2=%lftaccu=%lfn,x,euleri,euler_2i,pow(1+x*x,1.0/3); 第 1 页 共 3 页 getch; temp=euler_2i-1+dx*f(x,euler_2i-1); euler_2i=euler_2i-1+dx*(f(x,euler_2i-1)+f(x+dx,temp)/2; #include #include #include #define MAX_N 20 double f(double x,double y) return (1+y*y); void euler(double a,double b,double init_val,int

4、 n) int i; double h,xMAX_N,yMAX_N; h=(b-a)/n; x0=a; y0=init_val; printf(y%0.lf=%lft,x0,y0); for (i=1;i=n;i+) yi=yi-1+h*f(xi-1,yi-1); xi=a+i*h; yi=yi-1+0.5*h*(f(xi-1,yi-1)+f(xi,yi); printf(y%0.2lf=%lft,xi,yi); if (i+1)%3=0) printf(n); void main double a=0.0,b=1.4,init_val=1.0; euler(a,b,init_val,5); 运行结果: 第 2 页 共 3 页 五、总结 通过编程学会了对欧拉法和改进欧拉法的运用 六、附录 第 3 页 共 3 页

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号