用递推公式计算定积分matlab版.doc

上传人:peixunshi0 文档编号:119569 上传时间:2025-07-10 格式:DOC 页数:8 大小:315KB
下载 相关 举报
用递推公式计算定积分matlab版.doc_第1页
第1页 / 共8页
用递推公式计算定积分matlab版.doc_第2页
第2页 / 共8页
用递推公式计算定积分matlab版.doc_第3页
第3页 / 共8页
用递推公式计算定积分matlab版.doc_第4页
第4页 / 共8页
用递推公式计算定积分matlab版.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、精品文档】如有侵权,请联系网站删除,仅供学习与交流用递推公式计算定积分(matlab版).精品文档.用递推公式计算定积分实验目的:1充分理解不稳定的计算方法会造成误差的积累,在计算过程中会导致误差的迅速增加,从而使结果产生较大的误差。2在选择数值 计算公式来进行近似计算时,应学会选用那些在计算过程中不会导致误差迅速增长的计算公式。3理解不稳定的计算公式造成误差积累的来源及具体过程;4掌握简单的matlab语言进行数值计算的方法。实验题目:对n=0,1,2,20,计算定积分:实验原理:由于y(n)= = 在计算时有两种迭代方法,如下:方法一: y(n)= 5*y(n-1),n=1,2,3,20

2、取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; endy(1:6)y(7:11)对算法二,程序代码如下:%计算定积分;%n-表示迭代次数;%y用来存储结果;function y,n=f();syms k y_20;y=z

3、eros(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个,再输出711个,这样就能全部显示出来了。算法一结果: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.07

4、34 0.3669 -1.8346 9.1728y = 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.7916n = 19算法二结果: y,b=fy = 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.0087b = 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)-52/(n-2)-(5n)*y(0)所以经过多次迭代后会使误差增大很多倍。由此可知:在实际应用过程中应尽量避免使用数值不稳定的公式。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 微积分

宁ICP备18001539号-1