- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西安交大计算方法b大作业
《计算方法B》上机
实验报告
学院: 机械工程学院
班级:
姓名:
学号:
2015年12月22日
1.计算以下和式:,要求:(1)若保留11个有效数字,给出计算结果,并评价计算的算法;(2)若要保留30个有效数字,则又将如何进行计算。
实现思想:
以上问题出现了近似数相减的问题,为了减小误差,可分别求得减数之和以及被减数之和,最后将两者相减。另外,减数与被减数求和均为同号计算,按照绝对值递增顺序相加可减小舍入误差。此题中对有效数字有要求,因而计算时首先需要根据有效数字位数计算得出迭代次数,以保证计算值的精度。
源程序:
m=input(输入有效数字个数m=);
s0=1;s1=0;s2=0;n=0;
%判断迭代次数
while s0=0.5*10^-(m-1)
s0=4/(16^n*(8*n+1))-2/(16^n*(8*n+4))-1/(16^n*(8*n+5))-1/(16^n*(8*n+6));
n=n+1;
end
%分别求解各项并求和
for k=n-1:-1:0
a1=4/(16^k*(8*k+1));
a2=2/(16^k*(8*k+4));
a3=1/(16^k*(8*k+5));
a4=1/(16^k*(8*k+6));
s1=a1+s1;
s2=a4+a3+a2+s2;
end
S=vpa(s1-s2,m)
实验结果:11位有效数字计算结果如图1所示;30为有效数字计算结果如图2所示。
图1.11位有效数字计算结果 图2.30为有效数字计算结果
某通信公司在一次施工中,需要在水面宽度为20米的河沟底部沿直线走向铺设一条沟底光缆。在铺设光缆之前需要对沟底的地形进行初步探测,从而估计所需光缆的长度,为工程预算提供依据。已探测到一组等分点位置的深度数据(单位:米)如下表所示:
分点 0 1 2 3 4 5 6 深度 9.01 8.96 7.96 7.97 8.02 9.05 10.13 分点 7 8 9 10 11 12 13 深度 11.18 12.26 13.28 13.32 12.61 11.29 10.22 分点 14 15 16 17 18 19 20 深度 9.15 7.90 7.95 8.86 9.81 10.80 10.93 (1)请用合适的曲线拟合所测数据点;
(2)估算所需光缆长度的近似值,并作出铺设河底光缆的曲线图;
算法思想:由于题中所给点数为20,若采用高次多项式插值将产生很大的误差,所以拉格朗日或牛顿并不适用。题中光缆为柔性,可光滑铺设于水底,鉴于此特性,采用三次样条插值插值法较为合适。
算法结构:三次样条算法结构见《计算方法教程》P110;
光缆长度计算公式:
源程序:
clear;
clc;
x=0:20;
y=[9.01 8.96 7.96 7.97 8.02 9.05 10.13 11.18 12.26 13.28 13.32 12.61 11.29 10.22 9.15 7.90 7.95 8.86 9.81 10.80 10.93];
d=y;
plot(x,y,k.,markersize,15)
hold on
%%%计算差商
for k=1:2
for i=21:-1:(k+1)
d(i)=(d(i)-d(i-1))/(x(i)-x(i-k));
end
end
%%%设定d的边界条件
for i=2:20
d(i)=6*d(i+1);
end
d(1)=0;
d(21)=0;
%%%带状矩阵求解(追赶法)
a=0.5*ones(1,21);
b=2*ones(1,21);
c=0.5*ones(1,21);
a(1)=0;
c(21)=0;
u=ones(1,21);
u(1)=b(1);
r=c;
yy(1)=d(1);
%%%追
for k=2:21
l(k)=a(k)/u(k-1);
u(k)=b(k)-l(k)*r(k-1);
yy(k)=d(k)-l(k)*yy(k-1);
end
%%%赶
m(21)=yy(21)/u(21);
for k=20:-1:1
m(k)=(yy(k)-r(k)*m(k+1))/u(k);
end
%%%绘制曲线
k=1;
nn=100;
xx=linspace(0,20,nn);
l=0;
for j=1:nn
for i=2:20
if xx(j)=x(i)
k=i;
您可能关注的文档
- 衡水市2016年度继续教育考试.docx
- 表情包文化对青少年影响研究报告.docx
- 表面活性剂在皮革行业中应用.doc
- 衢州航埠方言与普通话词汇比较.doc
- 袁家村案例分析.doc
- 袖阀管注浆加固.doc
- 袋料香菇反季节栽培新模式.doc
- 被压迫的动脉腘动脉陷迫综合征.docx
- 被正动语态讲解及练习(附答案).doc
- 裂管施工技术在燃气管线改造过程中的应用.doc
- 分析let s单元56ago2卷纸zheng unit56.pdf
- 塑胶材料其它分类原料pa9t 12.pdf
- md16x16数字媒体切换器设备.pdf
- 者参考项目发起人学科类型单位序列承包商修订页代码顺序典型.pdf
- 届世界天然气大会阿姆斯特丹2006add10288.pdf
- 期测试记录表每周weekly g1g6 journeys tests level 6 lesson26.pdf
- modernize-whitepaper现代化您应用程序白皮书.pdf
- anybackup产品典型案例分析.pdf
- 约克金融工程课程tfeslide32.pdf
- 广州市妇女儿童医疗中心历份教学药历01tjy.pdf
文档评论(0)