资源描述:
《计算方法上机作业》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.计算方法上机报告姓名:学号:班级:上课班级:...说明:本次上机实验使用的编程语言是Matlab语言,编译环境为MATLAB7.11.0,运行平台为Windows7。1.对以下和式计算:,要求:①若只需保留11个有效数字,该如何进行计算;②若要保留30个有效数字,则又将如何进行计算;(1)算法思想1、根据精度要求估计所加的项数,可以使用后验误差估计,通项为:;2、为了保证计算结果的准确性,写程序时,从后向前计算;3、使用Matlab时,可以使用以下函数控制位数:digits(位数)或vpa(变量,精度为数)(2)算法结
2、构1.;2.forifend;3.for...(3)Matlab源程序clear;%清除工作空间变量clc;%清除命令窗口命令m=input('请输入有效数字的位数m=');%输入有效数字的位数s=0;forn=0:50t=(1/16^n)*(4/(8*n+1)-2/(8*n+4)-1/(8*n+5)-1/(8*n+6));ift<=10^(-m)%判断通项与精度的关系break;endend;fprintf('需要将n值加到n=%d',n-1);%需要将n值加到的数值fori=n-1:-1:0t=(1/16^i)*
3、(4/(8*i+1)-2/(8*i+4)-1/(8*i+5)-1/(8*i+6));s=s+t;%求和运算ends=vpa(s,m)%控制s的精度(4)结果与分析当保留11位有效数字时,需要将n值加到n=7,s=3.1415926536;当保留30位有效数字时,需要将n值加到n=22,s=3.14159265358979323846264338328。通过上面的实验结果可以看出,通过从后往前计算,这种算法很好的保证了计算结果要求保留的准确数字位数的要求。...1.某通信公司在一次施工中,需要在水面宽度为20米的河沟底部沿
4、直线走向铺设一条沟底光缆。在铺设光缆之前需要对沟底的地形进行初步探测,从而估计所需光缆的长度,为工程预算提供依据。已探测到一组等分点位置的深度数据(单位:米)如下表所示:分点0123456深度9.018.967.967.978.029.0510.13分点78910111213深度11.1812.2613.2813.3212.6111.2910.22分点14151617181920深度9.157.907.958.869.8110.8010.93①请用合适的曲线拟合所测数据点;②预测所需光缆长度的近似值,作出铺设河底光缆的曲
5、线图;(1)算法思想如果使用多项式差值,则由于龙格现象,误差较大,因此,用相对较少的插值数据点作插值,可以避免大的误差,但是如果又希望将所得数据点都用上,且所用数据点越多越好,可以采用分段插值方式,即用分段多项式代替单个多项式作插值。分段多项式是由一些在相互连接的区间上的不同多项式连接而成的一条连续曲线,其中三次样条插值方法是一种具有较好“光滑性”的分段插值方法。在本题中,假设所铺设的光缆足够柔软,在铺设过程中光缆触地走势光滑,紧贴地面,并且忽略水流对光缆的冲击。海底光缆线的长度预测模型如下所示,光缆从A点铺至B点,在某
6、点处的深度为。...海底光缆线的长度预测模型计算光缆长度时,用如下公式:(2)算法结构1.For1.12.For2.1For2.1.13.4.For4.14.2...4.35.6.7.获取M的矩阵元素个数,存入m8.For8.18.28.39.10.For10.111.获取x的元素个数存入s12.13.For13.1ifthen;breakelse14.(3)Matlab源程序clear;clc;x=0:1:20;%产生从0到20含21个等分点的数组...X=0:0.2:20;y=[9.01,8.96,7.96,7.97
7、,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];%等分点位置的深度数据n=length(x);%等分点的数目N=length(X);%%求三次样条插值函数s(x)M=y;fork=2:3;%计算二阶差商并存放在M中fori=n:-1:k;M(i)=(M(i)-M(i-1))/(x(i)-x(i-k+1));endendh(1)=x(2)-x(1);%计算三对角阵系数a,b,c及
8、右端向量dfori=2:n-1;h(i)=x(i+1)-x(i);c(i)=h(i)/(h(i)+h(i-1));a(i)=1-c(i);b(i)=2;d(i)=6*M(i+1);endM(1)=0;%选择自然边界条件M(n)=0;...b(1)=2;b(n)=2;c(1)=0;a(n)=0;d(1)=0;d(n)=