- 845
- 0
- 约1.78千字
- 约 7页
- 2017-10-03 发布于重庆
- 举报
用递推公式计算定积分(matlab版)
用递推公式计算定积分
实验目的:
1.充分理解不稳定的计算方法会造成误差的积累,在计算过程中会导致误差的迅速增加,从而使结果产生较大的误差。
2.在选择数值 计算公式来进行近似计算时,应学会选用那些在计算过程中不会导致误差迅速增长的计算公式。
3.理解不稳定的计算公式造成误差积累的来源及具体过程;
4.掌握简单的matlab语言进行数值计算的方法。
实验题目:
对n=0,1,2,…,20,计算定积分:
实验原理:
由于y(n)= = –
在计算时有两种迭代方法,如下:
方法一:
y(n)= – 5*y(n-1),n=1,2,3,…,20;
取y(0)= = ln6-ln5 ≈ 0.182322
方法二:
利用递推公式:y(n-1)=-*y(n),n=20,19,…,1.
而且,由 = * ≤≤ * =
可取:y(20)≈*()≈0.008730.
实验内容:
对算法一,程序代码如下:
function [y,n]=funa()
syms k n t;
t=0.182322;
n=0;
y=zeros(1,20);
y(1)=t;
for k=2:20
y(k)=1/k-5*y(k-1);
n=n+1;
end
y(1:6)
y(7:11)
对算法二,程序代码如下:
%计算定积分;
%n--表示迭代次数;
%y用来存储结果;
function [y,n]=f();
syms k y_20;
y=zeros(21,1);
n=1;
y_20=(1/105+1/126)/2;
y(21)=y_20;
for k=21:-1:2
y(k-1)=1/(5*(k-1))-y(k)/5;
n=n+1;
end
实验结果:
由于计算过程中,前11个数字太小,后9个数字比较大,造成前面几个数字只显示0.0000的现象,所以先输出前6个,再输出7—11个,这样就能全部显示出来了。
算法一结果:
[y,n]=funa
%先显示一y(1)—y(6)
ans =
0.1823
-0.4116
2.3914
-11.7069
58.7346
-293.5063
%再显示y(7)—y(11)
ans =
1.0e+005 *
0.0147
-0.0734
0.3669
-1.8346
9.1728
y =
1.0e+012 *
Columns 1 through 11
0.0000
-0.0000
0.0000
-0.0000
0.0000
-0.0000
0.0000
-0.0000
0.0000
-0.0000
0.0000
Columns 12 through 20
-0.0000
0.0000
-0.0001
0.0006
-0.0029
0.0143
-0.0717
0.3583
-1.7916
n = 19
算法二结果:
[y,b]=f
y =
0.1823
0.0884
0.0580
0.0431
0.0343
0.0285
0.0243
0.0212
0.0188
0.0169
0.0154
0.0141
0.0130
0.0120
0.0112
0.0105
0.0099
0.0093
0.0089
0.0083
0.0087
b =
21
实验分析:
从两题的计算结果可以看出来,算法一是不稳定的,而算法二是稳定的。
对算法一:由于y(1)本身具有一定的误差 ,设为a_1,
则由于
y(n)=1/n-5y(n-1)=1/n-5(1/(n-1)-5y(n-1))
=……
=1/n-5/(n-1)-5^2/(n-2)-…-(5^n)*y(0)
所以经过多次迭代后会使误差增大很多倍。
由此可知:在实际应用过程中应尽量避免使用数值不稳定的公式。
您可能关注的文档
最近下载
- 高考数学 一轮复习讲义 任意角的三角函数.docx VIP
- 国际贸易实务实训教程.pdf VIP
- 高考数学 一轮复习讲义 -简单的三角恒等变换.docx VIP
- 如果要写年(带歌词完整版毛不易2024春晚歌曲) 高清钢琴谱五线谱.docx VIP
- 半边山半边海(原调版) 高清钢琴谱五线谱.docx VIP
- 下肢静脉血栓形成滤器术后护理.doc VIP
- 女性阻塞性睡眠呼吸暂停诊治专家共识 .pdf VIP
- 《我家是动物园》教案(2025—2026学年).docx VIP
- QSY 02025-2017 油水井压裂设计规范.pdf VIP
- 《轩辕剑4全全地图超完美攻略--黑龙舞兮云飞扬(最详细的心得体会、可下载、可编辑、可复制)》.doc VIP
原创力文档

文档评论(0)