- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数值积分的程序设计
专业班级:信计061 姓名: 袁金龙 学号
一 实验目的
1. 熟悉Matlab编程。
2. 学习数值积分程序设计算法。
二 实验题目
用Simpson公式、和N=8的复合Simpson公式、复合梯形公式、复合抛物线公式、龙贝格公式求定积分。
三 实验原理与理论基础
(一)Simpson公式算法设计:
①通过已知得出积分上下限及其被积函数a,b,f(x).
②按公式计算得k=(a+b)/2;s=((b-a)/6)*(1/(a*a-1)+4*(1/(k*k-1))+1/(b*b-1))。
(二)复合Simpson公式算法设计:
1. 通过已知得出积分上下限及其被积函数a,b,f(x).
2. ,
h=(b-a)/2m. .
(三)复合梯形公式算法设计:
①利用余项 其中得出n的大小。
② 通过已知得出积分上下限及其被积函数a,b,f(x).
③利用公式 得出积分结果。
(四)复合抛物线公式算法设计:
①.利用余项得出n的大小,其中。
②通过已知得出积分上下限及其被积函数a,b,f(x).
③利用公式 得出积分结果。
(五)龙贝格公式算法设计:
① 计算:
②对分区间并计算和:
,
其中为新分点的函数值之和。
③计算与:
,
④ 利用外推公式:
,(),(),直至求出。
⑤ 判断是否真,其中为给定的精度。若真,则,否则重复(2)、(3)、(4)的计算。
表14.4.1 排成三角数表
数表沿竖向和斜向都是收敛于,即当趋于无穷,与均收敛于。
四 实验内容
(一)问题重述:
给出积分
1. 用Simpson公式和N=8的复合Simpson公式求积分的近似值.
2. 用复合梯形公式、复合抛物线公式、龙贝格公式求定积分,要求绝对差为e=0.5*10^7,将计算结果与精确解做比较,并对计算结果进行分析。
(二)实验代码:
=====================================================
①*************用Simpson公式计算积分的近似值****************
function []=simpson(a,b)
% k为中间值
用Simpson公式计算积分的近似值为:
k=(a+b)/2; s=((b-a)/6)*(1/(a*a-1)+4*(1/(k*k-1))+1/(b*b-1))
②*********用复化Simpson公式计算积分的近似值****************
function []=fuhesimpson(a,b,n1)
% n1,n分别为小区间、大区间的个数。
% h为其步长。
% s1,s2为函数在大区间、小区间的端点的函数值之和。
n=n1/2;
h=(b-a)/n;
for i=1:n
Xk(i)=a+(i-1)*h;
end
s1=0;
for i=2:n
f1(i)=1/(Xk(i)*Xk(i)-1);
s1=s1+f1(i);
end
s2=0;
for i=1:n
Xl(i)=Xk(i)+h/2;
f2(i)=1/(Xl(i)*Xl(i)-1);
s2=s2+f2(i);
end
用复化Simpson公式计算积分的近似值为:
T=(h/6)*(1/(a*a-1)+4*s2+2*s1+1/(b*b-1))
2.===================================================================
①**************用复化梯形公式计算积分的近似值********************
function []=fuhetixing(a,b,e)
% f2为f的二阶导数的最大值
f2=2/9;
m=(b-a)*(b-a)*(b-a);
n=round(sqrt(f2*m/e));
h=(b-a)/n;
s1=0;
for i=1:(n-1)
x(i)=a+i*h;
f(i)=1/(x(i)*x(i)-1);
s1=s1+f(i);
end
用复化梯形公式计算积分的近似值为:
T=(h/2)*(1/(a*a-1)+2*s1+1/(b*b-1))
②*********************用复化抛物线公式计算积分的近似值*************
function [T]=fuhepaowuxian(a,b,e)
%利用误差确定n.
% h为其步长。
% s1,s2为函数在大区间
文档评论(0)