- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
变步长的梯形积分方法的应用
CENTRAL SOUTH UNIVERSITY
数值分析实验报告
变步长的梯形积分方法的应用
一、问题背景
实际问题当中常常需要计算积分,有些数值方法,如微分方程和积分方程的求解,也都和积分计算相关联。
依据人们所熟知的微积分基本定理,对于积分
,
只要找到被积分函数的原函数,便有下列牛顿-莱布尼茨(Newton-Leibniz)公式:
.
但实际使用这种求积分方法往往有困难,因为大量的被积函数,诸如,等,其原函数不能用初等函数表达,故不能用上述公式计算。即使能求得原函数的积分,有时计算也十分困难。例如对于被积函数,其原函数
,
计算,仍然很困难,另外,当是由测量或数值计算给出的一张数据表时,牛顿-莱布尼茨公式也不能直接运用。因此有必要研究积分的数值计算问题。
二、数学模型
由于牛顿-科特斯积分公式在时不具有稳定性,故不能通过提高阶数的方法来提高求积精度。为了提高精度通常可以把积分区间划分成若干的子区间(通常是等分),再在每个子区间上用低阶求积公式。这种方法称为复合求积法。
复合梯形法虽然方法简单,但是却不能估计积分精度,这有时候是很不方便的。要想控制积分精度,可以采用如下的方法,设积分区间已经划分为n个子区间,这时再把区间划分更细,给出新的积分结果,如果前后两次积分的差比给定的误差容限小的话,则停止细华否则继续增加积分区间。这种方法原理很简单也 容易实现,但是实际计算中一般采用的比较少,因为这种方法比较机械效率不是太高,实际上采用比较多的通常是Romberg方法。
三、算法及流程
给定义误差容限小量TOL,对于,有复合梯形公式
如果前后两次的划分的积分计算结果大于给定的误差TOL,则增加划分区间,如果满足精度,则停止细化,并输出结果。
MATLAB实现过程:
%可控精度复合梯形法计算积分问题 function [jifen,num] kong_tixing a,b,tol %a,b为积分区间
%tol 为积分精度,默认为10的-3次方
if nargin 3 eps 1.0e-3;
end
n 1;
h b-a /2;
int_1 0;
%调用方程函数
int_2 kong_t_f a +kong_t_f b /h;
% 如果前后两次误差小于给定的精度,则停止细化积分区间
while abs int_2-int_1 tol n n+1; h b-a /n; int_1 int_2; int_2 0; for i 0:n-1 x a+h*i; x1 x+h; int_2 int_2+ h/2 * kong_t_f x +kong_t_f x1 ; end
end
% 积分结果
jifen int_2;
%区间划分细度 num n;
将文件以文件名kong_tixing.m保存。
四、计算结果及分析
计算定积分
要求输出精度为10-4。
打开Editor编写如下程序,并将文件以文件名kong_t_f.m保存。
function f kong_t_f x f exp -x^2 ;
打开Editor编写如下程序,并将文件以文件名kong_t_main.m保存。
% 可控精度的梯形积分方法
% 精度为0.1
[s_1,num_1] kong_tixing 0,1,1e-1
%精度为0.01
[s_2,num_2] kong_tixing 0,1,1e-4 % 精度为0.001
[s_1,num_3] kong_tixing 0,1,1e-7 % 画出积分图形
x 0:0.02:1;
y exp -x.^2 ;
area x,y
在MATLAB命令窗口输入输入 kong_t_main
点击Enter键后得到:
s_1 0.座机电话号码
num_1 3
s_2 0.座机电话号码
num_2 12
s_1 0.座机电话号码
num_3 108
从输出的结果可以看出,要达到10-4精度,需要把区间划分为12个子区间,而要达到10-7精度,则要把区间划分为108个子区间。事实上,函数的积分总区间跨度不是很大,所以在划分为108个子区间后已经是对函数取点很密集了。
下图给出了积分的几何意义,积分的结果即图中蓝色区域面积,从输出结果可以看出蓝色区域面积约为0.座机电话号码。
文档评论(0)