- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算方法上机报告(姚威)解析
计算方法B上机作业报告
姓名::学科专业:教师:苏剑老师
2015年12月目录
1. 上机题一 1
1.1 解题源程序 1
1.2 计算结果 3
1.3 实验结果分析及总结 3
2. 上机题二 3
2.1 三次样条插值拟合数据点 4
2.1.1算法组织 4
2.1.2 算法 5
2.1.3算法的Matlab实现 6
2.1.4 实验结果及分析 9
2.2 复化Simpson公式近似计算光缆长度 12
2.2.1算法组织 12
2.2.2算法的Matlab实现 13
2.2.3实验结果及分析 14
3. 上机题三 14
3.1 算法思想 14
3.2 算法组织 14
3.3 算法的Matlab实现 15
3.4 实验结果及分析 17
3.4.1法方程最小二乘法输出结果 17
3.4.2 基于最小二乘法ployfit函数法 19
3.5 QR分解 24
3.5.1 结果分析 29
4. 上机题四 30
4.1 二分法算法组织 30
4.1.1算法思想及依据 30
4.1.2算法结构 30
4.2 二分法算法的Matlab实现 30
4.2.1利用Matlab校验根的区间 30
4.2.2使用二分法Matlab程序 31
4.3 二分法实验结果及分析 32
4.4 割线法算法组织 33
4.4.1算法思想及依据 33
4.4.2算法结构 33
4.5 割线法算法的Matlab实现 33
4.5.1割线法实验结果及分析 34
5. 上机题五 34
5.1 算法思想 35
5.2 算法组织 35
5.2.1算法思想及依据 35
5.2.2算法结构 35
5.3 算法的Matlab实现 36
5.3.1非压缩带状对角方程组 36
5.3.2压缩带状对角方程组 38
5.4 实验结果及分析 40
5.4.1 Matlab运行结果 40
5.4.2 Matlab运行结果分析 43
5.5 实际问题 44
5.6 分析总结 47
6. 总结及致谢 48
上机题一
对以下和式计算:,要求: (1)若只需保留11个有效数字,该如何进行计算;(2)若要保留30个有效数字,则又将如何进行计算;
计算方法
任何一个β进制、具有t位有效数字的实数总可以表示成,其中,是满足
的整数。
有效数字是指一个近似数的“有意义”的数字的数位,通常在十进制中讨论,设,其中,近似数,若,则称是的具有t位有效数字的近似数,或称具有t位有效数字。根据有效数字的要求可以得到计算公式的精度要求。再利用后验误差估计式可以根据精度要求得到和式累加的项数。首先满足题目要求的情况下,利用后验误差估计计算出算法中的最大运行次数。即以一下条件作为迭代终止的准则:,其中为误差数值。该实验第一问利用后验误差估计截取的项数,使误差小于1e-10;第二问利用后验误差估计截取的项数,使误差小于1e-30。得出运行次数,作为累加的终止条件。特别地,为了减小舍入误差在计算S时所采用的方法是逆序相加,其依据是:S中各项的绝对值为递减的正数,而两个数量级相差较大的数字相加减时,较小数的有效数字会丢失,从而导致最后的运算结果失真。为避免“大数吃小数”现象的发生,采用逆序相加;同时为了避免相近数相减和减小计算步骤,我们将化简为进行计算。另外,要限定计算结果的有效数字的个数,在MATLAB软件中可直接调用函数vpa(变量名,位数)来控制计算结果的位数,最终完成精度要求较高的计算。
解题源程序
function solve1
clc;
clear;
sum1=0;
sum2=0;
n=0;
N=0;
%第一小问
%根据精度要求利用后验误差式,估计要使误差小于,需要累加的项数n,所以要保证计算精度第n+1项要小于,才能保证计算的精度
while abs((960*n^2+1208*n+376)/((8*n+1)*(8*n+4)*(8*n+5)*(8*n+6))/(16.^n))10^(-11)
%为了减小误差,我们对计算公式进行变形,一是防止相近数相减,二是为了减少计算步骤;
n=n+1;
end
n;
%累加进行的项数
disp(累加的次数:)
n
%为减少舍入误差的影响,按绝对值递增的顺序求和。因此按n按从小到大的顺序相加,步距取为-1
for i=n:-1:0
sum1=sum1+((960*i.^2+1208*i+376)/((8*i+1)*(8*i+4)*(8*i+5)*(8*i+6)))/(16.^i);
end
disp(保留11位有效数字时的近似值:)
vpa(sum1,11)
%第二小问
%根据精度要求利用后验误差式,估计要使误差小于0.5e-30需要累加的项数N
While
abs((960*N
文档评论(0)