- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值分析第二次实验报告
数值分析上机实验报告
题目:不同方法计算积分
学生姓名
学院名称 计算机学院
专 业 计算机科学与技术
时 间
一. 实验目的
1、 了解matlab的基本编程方法和部分函数的使用方法。
2、 通过上机进一步学习复合梯形,复合辛普森公式,以及用龙贝格求积方法计算积分的原理。
二. 实验内容
用不同的数值方法计算?
1、取不同的步长h.分别用复合梯形及辛普森求积计算积分,给出误差中关于h的函数,并与积分精确值比较两个公式的精度,是否存在一个最小的h,使得精度不能再被改善?
2、用龙贝格求积计算完成问题(1)
三. 实现方法
1. 进入matlab开发环境
2. 依据算法编写代码
3. 调试程序
4. 运行程序
5. 复合梯形公式:
复合辛普森公式:
以上两种算法都是将a-b之间分成多个小区间(n),则h=(a-b)/n, Xk=a+kh。
龙贝格算法:在指定区间内将步长依次二分的过程中运用如下公式:
(1)
(2)
(3)
6.实验代码如下:
复合梯形法:
function?t=ladder(name,a,b,n)?
h=(b-a)/n;?
na=feval(name,a);nb=feval(name,b);f=feval(name,a+h:h:b-h+0.001*h);?
t=h*(0.5*(na+nb)+sum(f));?
复合辛普森法:
function?t=Simpson(name,a,b,n)?
h=(b-a)/n;?
sa=feval(name,a);sb=feval(name,b);s1=feval(name,a+h:h:b-h+0.001*h);?
s2=feval(name,a+h/2:h:b-h+0.001*h);?
t=h/6*(sa+sb+2*sum(s1)+4*sum(s2));
龙贝格法:
function?[I,step]=Romberg(f,a,b,eps)?
if(nargin==3)???????
eps=1.0e-4;?
end;?
M=1;?
tol=10;?
k=0;?
T=zeros(1,1);?
h=b-a;?
T(1,1)=(h/2)*(subs(sym(f),findsym(sym(f)),a)+subs(sym(f),findsym(sym(f)),b));?
while?toleps????????
k=k+1;?
h=h/2;????????
Q=0;???????
for?i=1:M?
x=a+h*(2*i-1);?
Q=Q+subs(sym(f),findsym(sym(f)),x);
end?
T(k+1,1)=T(k,1)/2+h*Q;
M=2*M;????
for?j=1:k?
T(k+1,j+1)=T(k+1,j)+(T(k+1,j)-T(k,j))/(4^j-1);????
end?
tol=abs(T(k+1,j+1)-T(k,j));?
end?
I=T(k+1,k+1);?
step=k;?
程序流程图
复合梯形流程图:
N
Y
复合辛普森流程图:
N
Y
龙贝格算法流程图:
Y
N
Y
N
Y
N
Y
N
N
Y
五. 实验结果
复合梯形:
复合辛普森:
龙贝格算法:
总结感悟
由复合梯形和复合辛普森公式实验结果的比较可以看出,在h相同时,复合辛普森公式的精度更高。h越小,精度就越高,从实验结果可直观看出,n=10000以内不存在一个最小的h使得精度不再增加,两个公式的余项可知,h越小,余项越小,精度也就越高。
2
计算机学院2012级数值分析实验报告
1
开始
输入a,b,n
h=(b-a)/n
S=f(a)+f(b),x=a;
n=1
x=x+h;
S=S+2f(x)
n=n+1
n=N?
S=Sh/2
输出x
结束
开始
输入a,b,n
h=(b-a)/n
S=f(a)+f(b),x=a;
n=1
x=x+h/2;S=S+4f(x)
x=x+h/2;S=S+2f
文档评论(0)