欢迎来到天天文库
浏览记录
ID:46405482
大小:92.00 KB
页数:5页
时间:2019-11-23
《实验五数值微分》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、计算机科学与工程学院《计算方法》实验报告学号姓名班级15-计科-03班实验项目名称实验五数值微分一、实验名称实验五数值微分二、实验目的:(1)熟悉数值微分中Euler法,改进Euler法,Rung-Kutta方法;(2)能编程实现Euler法,改进Euler法,Rung-Kutta方法;(3)通过实验结果分析各个算法的优缺点;(4)明确步长对算法的影响并理解变步长的Rung-Kutta方法三、实验内容及要求(1)02、间,初值,数值解个数输出:数值解四、实验原理及算法描述在许多科学技术问题中,建立的模型常常以常微分方程的形式表示。然而,除了少数特殊类型的常微分方程能用解析方法求其精确解外,要给出一般方程解析解的表达式是困难的。所以只能用近似方法求其数值解,在实际工作中常用计算机求常微分方程的数值解。所谓常微分方程的数值解即对于常微分方程初值问题计算出在一系列节点a=x03、差商代替导数,实现连续问题离散化,选取不同的差商代替导数可以得到不同公式。改进欧拉公式是常用方法之一,包括预测和校正两步。先用欧拉公式进行预报,再将预报值代入梯形公式进行校正,从而达到二阶精度。通过龙格-库塔法我们可以获得更高精度。经典龙格-5计算机科学与工程学院库塔法即在区间[xn,xn+1]取四点,并对这四点的斜率进行加权平均作为平均斜率,通过泰勒公式寻找使局部截断误差为O(h5)(即4阶精度)的参数满足条件。改进的欧拉公式:预测校正四阶(经典)龙格-库塔公式二、程序代码及实验结果1.主程序intmain(){Euler(0,1,4、10,0.1);PEuler(0,1,10,0.1);longgekuta(0,1,1,10);return0;}2.Euler公式子程序:doubleEuler(doublex0,doubley0,intn,doubleh){cout<<"Euler公式输出:"<5、oublex0,doubley0,intn,doubleh){5计算机科学与工程学院cout<<"改进的Euler公式输出:"<6、kuta(doublea,doubleb,doubley,intn){cout<<"4阶龙格库塔公式输出"<7、));k4=y0+h*k3-(2.0*((x0+h)/(y0+h*k3)));//y0+h*k3y1=y0+(h/6.0)*(k1+2.0*k2+2.0*k3+k4);cout<8、大的。2.四阶龙格库塔就是很好得利用了变步长的优势,这也就是其收敛速度快的原因所在五、教师评语(或成绩)教师签字:5
2、间,初值,数值解个数输出:数值解四、实验原理及算法描述在许多科学技术问题中,建立的模型常常以常微分方程的形式表示。然而,除了少数特殊类型的常微分方程能用解析方法求其精确解外,要给出一般方程解析解的表达式是困难的。所以只能用近似方法求其数值解,在实际工作中常用计算机求常微分方程的数值解。所谓常微分方程的数值解即对于常微分方程初值问题计算出在一系列节点a=x03、差商代替导数,实现连续问题离散化,选取不同的差商代替导数可以得到不同公式。改进欧拉公式是常用方法之一,包括预测和校正两步。先用欧拉公式进行预报,再将预报值代入梯形公式进行校正,从而达到二阶精度。通过龙格-库塔法我们可以获得更高精度。经典龙格-5计算机科学与工程学院库塔法即在区间[xn,xn+1]取四点,并对这四点的斜率进行加权平均作为平均斜率,通过泰勒公式寻找使局部截断误差为O(h5)(即4阶精度)的参数满足条件。改进的欧拉公式:预测校正四阶(经典)龙格-库塔公式二、程序代码及实验结果1.主程序intmain(){Euler(0,1,4、10,0.1);PEuler(0,1,10,0.1);longgekuta(0,1,1,10);return0;}2.Euler公式子程序:doubleEuler(doublex0,doubley0,intn,doubleh){cout<<"Euler公式输出:"<5、oublex0,doubley0,intn,doubleh){5计算机科学与工程学院cout<<"改进的Euler公式输出:"<6、kuta(doublea,doubleb,doubley,intn){cout<<"4阶龙格库塔公式输出"<7、));k4=y0+h*k3-(2.0*((x0+h)/(y0+h*k3)));//y0+h*k3y1=y0+(h/6.0)*(k1+2.0*k2+2.0*k3+k4);cout<8、大的。2.四阶龙格库塔就是很好得利用了变步长的优势,这也就是其收敛速度快的原因所在五、教师评语(或成绩)教师签字:5
3、差商代替导数,实现连续问题离散化,选取不同的差商代替导数可以得到不同公式。改进欧拉公式是常用方法之一,包括预测和校正两步。先用欧拉公式进行预报,再将预报值代入梯形公式进行校正,从而达到二阶精度。通过龙格-库塔法我们可以获得更高精度。经典龙格-5计算机科学与工程学院库塔法即在区间[xn,xn+1]取四点,并对这四点的斜率进行加权平均作为平均斜率,通过泰勒公式寻找使局部截断误差为O(h5)(即4阶精度)的参数满足条件。改进的欧拉公式:预测校正四阶(经典)龙格-库塔公式二、程序代码及实验结果1.主程序intmain(){Euler(0,1,
4、10,0.1);PEuler(0,1,10,0.1);longgekuta(0,1,1,10);return0;}2.Euler公式子程序:doubleEuler(doublex0,doubley0,intn,doubleh){cout<<"Euler公式输出:"<5、oublex0,doubley0,intn,doubleh){5计算机科学与工程学院cout<<"改进的Euler公式输出:"<6、kuta(doublea,doubleb,doubley,intn){cout<<"4阶龙格库塔公式输出"<7、));k4=y0+h*k3-(2.0*((x0+h)/(y0+h*k3)));//y0+h*k3y1=y0+(h/6.0)*(k1+2.0*k2+2.0*k3+k4);cout<8、大的。2.四阶龙格库塔就是很好得利用了变步长的优势,这也就是其收敛速度快的原因所在五、教师评语(或成绩)教师签字:5
5、oublex0,doubley0,intn,doubleh){5计算机科学与工程学院cout<<"改进的Euler公式输出:"<6、kuta(doublea,doubleb,doubley,intn){cout<<"4阶龙格库塔公式输出"<7、));k4=y0+h*k3-(2.0*((x0+h)/(y0+h*k3)));//y0+h*k3y1=y0+(h/6.0)*(k1+2.0*k2+2.0*k3+k4);cout<8、大的。2.四阶龙格库塔就是很好得利用了变步长的优势,这也就是其收敛速度快的原因所在五、教师评语(或成绩)教师签字:5
6、kuta(doublea,doubleb,doubley,intn){cout<<"4阶龙格库塔公式输出"<7、));k4=y0+h*k3-(2.0*((x0+h)/(y0+h*k3)));//y0+h*k3y1=y0+(h/6.0)*(k1+2.0*k2+2.0*k3+k4);cout<8、大的。2.四阶龙格库塔就是很好得利用了变步长的优势,这也就是其收敛速度快的原因所在五、教师评语(或成绩)教师签字:5
7、));k4=y0+h*k3-(2.0*((x0+h)/(y0+h*k3)));//y0+h*k3y1=y0+(h/6.0)*(k1+2.0*k2+2.0*k3+k4);cout<8、大的。2.四阶龙格库塔就是很好得利用了变步长的优势,这也就是其收敛速度快的原因所在五、教师评语(或成绩)教师签字:5
8、大的。2.四阶龙格库塔就是很好得利用了变步长的优势,这也就是其收敛速度快的原因所在五、教师评语(或成绩)教师签字:5
此文档下载收益归作者所有