数值积分的matlab实现

数值积分的matlab实现

ID:22760983

大小:110.50 KB

页数:8页

时间:2018-10-31

数值积分的matlab实现_第1页
数值积分的matlab实现_第2页
数值积分的matlab实现_第3页
数值积分的matlab实现_第4页
数值积分的matlab实现_第5页
资源描述:

《数值积分的matlab实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、《数值分析》实验报告实验名称使用matlab编写数值计算程序实验时间**姓名**班级**学号**成绩实验报告内容要求:一、实验目的与内容;二、算法描述(数学原理或设计思路、计算公式、计算步骤);三、程序代码;四、数值结果;五、计算结果分析(如初值对结果的影响;不同方法的比较;该方法的特点和改进等);六、实验中出现的问题,解决方法及体会(整个实验过程中(包括程序编写,上机调试等)出现的问题及其处理等广泛的问题).实验四数值积分的Matlab实现一、实验目的与要求1.熟练梯形公式、Simpson公式、

2、复化梯形公式、复化Simpson公式、Romberg求积公式;2.熟悉符号积分,能数值积分的值与精确值的比较;3.培养编程与上机调试能力。二、实验原理设将积分区间[a,b]划分为n等份,步长h=,选取等距节点x=a+kh构造出的插值型求积公式I=(b-a)称为牛顿-科特斯公式,式中C称为科特斯系数.当n=1时,C=C=,即为梯形公式T=[f(a)+f(b)]当n=2时,同理可求Simpson公式:S=.对应的复合公式分别为T,S,运用理查德外推加速方法可得龙贝格求积算法:T,k=1,2,….三、实

3、验内容与步骤分别用梯形公式、Simpson公式、复化梯形公式、复化Simpson公式、Romberg求积公式求下列定积分,观察所得结果,并与精确值进行比较.(4)(5)1、依照实验原理编写各种公式的的程序.2、首先在电脑上安装matlab,然后启动matlab,分别建立不同公式的M文件,实验程序如下;梯形公式程序代码程序代码说明functionT=chen_trap(fun,a,b);T=(b-a)*(feval(fun,a)+feval(fun,b))/2;%递推梯形公式主程序%fun:被积函数

4、%a,b分别为积分区间的左右端点Simpson公式程序代码程序代码说明functiony=chen_simpson(fun,a,b);c=(a+b)/2;y=(b-a)/6*(feval(fun,a)+4*feval(fun,c)+feval(fun,b));%simpson公式主程序%fun表示被积函数句柄%a,b分别为积分区间的左右端点复合梯形公式程序代码程序代码说明functiony=comtrap(fun,a,b,n);z1=feval(fun,a)+feval(fun,b);h=(b-a

5、)/n;z2=0;x=a;fork=1:n-1x1=x+k*h;z2=z2+2*feval(fun,x1);endy=(z1+z2)*h/2;%复化simpson公式主程序%fun表示被积函数句柄%a,b分别为积分区间的左右端点%n为等分积分区间的个数%y为积分近似值Sn复合Simpson公式程序代码程序代码说明functiony=comsimpson(fun,a,b,n);z1=feval(fun,a)+feval(fun,b);m=n/2;h=(b-a)/(2*m);x=a;z2=0;z3=0

6、;x2=0;x3=0;fork=1:m-1x2=x+2*k*h;z2=z2+2*feval(fun,x2);endfork=1:mx3=x+(2*k-1)*h;z3=z3+4*feval(fun,x3);endy=(z1+z2+z3)*h/3;%复化simpson公式主程序%fun表示被积函数句柄%a,b分别为积分区间的左右端点%n=2m,m为等分积分区间的个数%y为积分近似值SmRomberg求积公式程序代码程序代码说明function[quad,R]=Romberg(f,a,b,eps);h=

7、b-a;R(1,1)=h*(feval(f,a)+feval(f,b))/2;M=1;J=0;err=1;whileJ<=3

8、err>epsJ=J+1;h=h/2;S=0;forp=1:Mx=a+h*(2*p-1);S=S+feval(f,x);endR(J+1,1)=R(J,1)/2+h*S;M=2*M;fork=1:J%f表示被积函数句柄%a,b表示被积区间[a,b]的端点%eps表示精度%quad是用Romberg加速算法求得的积分值%R为Romberg表R(J+1,k+1)=R(J+1,k

9、)+(R(J+1,k)-R(J,k))/(4^k-1);enderr=abs(R(J+1,J)-R(J+1,J+1));endquad=R(J+1,J+1);%err表示误差的估计1、具体函数编程如下:(1);首先编写被积函数的M文件f1.mfunctiony=f1(x)然后编写如下程序,并保存为t1.m%t1.mclear;a=0;b=1;T=chen_trap(@f1,a,b);S=chen_simpson(@f1,a,b);FT8=comtrap(@f1,a,b,8);FS4

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。