自适应复化求积法代码matlab,自适应复化求积法.doc

自适应复化求积法

实 验 报 告

实验课程名称 数值计算方法

实验项目名称 自适应复化梯形求积法

年 级 2012级

专 业 应用数学

学生姓名

学 号

理 学 院

实验时间: 2014 年 4月 24日

学生所在学院:理学院 专业:应用数学 班级:应数121

姓 名学 号实验组实验时间2014.4.24指导教师成 绩实验项目名称自适应复化梯形求积法

实验目的及要求:

复合梯形公式是提高精度的行之有效的方法,但是在使用求积公式之前,必须先给出步长。步长取得太大精度难以保证,步长太小则导致计算量的增加,而事先给出一个合适的步长往往是困难的,因此提出了在求积过程中根据精度要求自动确定积分步长的梯形公式的逐次分半加速法。

实验(或算法)原理

记为n等分[a,b]后用复化梯形公式算得的积分值,于是

,将[a,b]作2n等分后,n等分下的子区间

[]变为两个更小的子区间[],从而[]上的积分值为

于是

其中h=(b-a)/n

实验硬件及软件平台:

Matlab 2010a

实验步骤:

1.根据算法事先写出相应程序。

2.启动PC机,在Matlab中输入代码。

3.编译调试。

4.调试通过,计算出正确结果。实验内容(包括实验具体内容、算法分析、源代码等等):

zishitixing.m

clear

clc

a=input('区间左端点:');

b=input('区间右端点:');

z=input('精度:');

h=b-a;

s2=h*(a+b)/2;

s1=0;

k=1;

s=0;

while abs(s1-s2)>=z

s1=s2;

s=0;

for i=1:1:k

s=s+f(a+(i-1/2)*h);

end

s2=s1/2+h*s/2;

k=2*k;

h=h/2;

end

disp('满足精度的值为:');

s2

f.m

function y=f(x)

y=exp(-x^2);

end

用上述程序计算。

可见,用程序计算的结果和真实结果相同。

实验结果与讨论:

通过本实验的学习,初步掌握了使用自适应复化求积法。更进一步加深了对自适应复化求积法的基本原理和技巧的理解,初步学会使用自适应复化求积法解决一些简单的问题。

同时在实验过程中了解到在运用复化求积公式进行计算时,步长h取得太大时难以保证,步长太小时则会增加计算工作量,这时就必须要求进行反复利用求积公式进行计算,直到所求得的积分值满足精度要求为止。

指导教师意见:

签名: 年 月 日

7

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值