当前位置:文档之家› 西安交通大学计算方法B大作业资料

西安交通大学计算方法B大作业资料

计算方法上机报告姓名:学号: 班级:目录题目一----------------------------------------------------------------- 4 -1.1题目内容-------------------------------------------------------- 4 -1.2算法思想-------------------------------------------------------- 4 -1.3Matlab 源程序----------------------------------------------------- 5 -1.4计算结果及总结------------------------------------------------- 5 -题目二----------------------------------------------------------------- 7 -2.1题目内容-------------------------------------------------------- 7 -2.2算法思想-------------------------------------------------------- 7 -2.3 Matlab 源程序---------------------------------------------------- 8 -2.4计算结果及总结------------------------------------------------- 9 -题目三--------------------------------------------------------------- -11-3.1题目内容----------------------------------------------------------- 11 -3.2算法思想----------------------------------------------------------- 11 -3.3Matlab 源程序--------------------------------------------------- -13 -3.4计算结果及总结----------------------------------------------------- 14 - 题目四--------------------------------------------------------------- -15 -4.1题目内容----------------------------------------------------------- 15 -4.2算法思想----------------------------------------------------------- 15 -4.3Matlab 源程序--------------------------------------------------- -15 -4.4计算结果及总结----------------------------------------------------- 16 - 题目五--------------------------------------------------------------- -18 --18 -5.1题目内容5.2算法思想----------------------------------------------------------- 18 -5.3 Matlab 源程序--------------------------------------------------- -18 -5.3.1 非压缩带状对角方程组 ----------------------------------- -18 -5.3.2压缩带状对角方程组-------------------------------------- -20 -5.4实验结果及分析------------------------------------------------ -22 -5.4.1Matlab 运行结果-------------------------------------------- -22 -5.4.2总结分析------------------------------------------------- -24 -5.5 本专业算例 --------------------------------------------------- -24 - 学习感悟------------------------------------------------------------- -27 -题目1.1题目内容计算以下和式:S 1n4 2- - ,要求: ^016 (8n+1 8n+4 8n+5 8n + 6 丿(1)若保留11个有效数字,给出计算结果,并评价计算的算法;(2)若要保留30个有效数字,则又将如何进行计算。

1.2算法思想在程序编写中需要把握以下几点:①随着n值的增加,和式的项递减速度很快,因此我们可以认为,在确定为某一精度的前提下,n达到一定的值,加下一项将不会对最终的加和产生影响,首先我们应找到n值②根据精度要求估计所加的项数,可以使用后验误差估计,通项为:③为减小舍入误差,在计算s时所采用的方法是逆序相加,其依据是:两个数量级相差较大的数字相加减时,较小数的有效数字会被丧失,从而导致最后的运算结果失真。

为避免“大数吃小数”现象的发生,采用逆序相加。

④对于实现30位有效数字,则调用从工具箱中digits(位数)或vpa(变量,精度位数)即可实现1.3Matlab源程序16n .8n 1 8n 4 8n 5 8n 6 16n 8n 1>>clear;>>clc;>> m=i nput('输入需要求的有效数字位数m=');s=0for n=0:200 %寻找满足条件的最小ns=(1/16A n)*(4/(8* n+1)-2/(8* n+4)-1/(8* n+5)-1/(8* n+6));if s<=10A(-m) %当项小于10A-m时,停止循环breakendend;fprintf('n值加至n%d\n',n-1); %需要将n值加到的数值for i=n-1:-1:0 %逐项逆序相加求和s=(1/16Ai)*(4/(8*i+1)-2/(8*i+4)-1/(8*i+5)-1/(8*i+6));t=t+s;ends=vpa(t,m)1.4计算结果及总结①输入需要求的有效数字位数m=11t = 0n值加至n7s =3.1415926536②t =0n值加至n22s =3.14159265358979311599796346854从上述的算法思想中可以看出,运算中不仅要满足误差要求,还要尽可能地减少计算量,此外还要考虑舍入误差的影响,这时就要对所运算数据的性质进行分析,设臵合适的算法,从而提高运算的精度。

而逆序算法能够很好的满足上述要求。

题目二2.1题目内容某通信公司在一次施工中,需要在水面宽度为20米的河沟底部沿直线走向铺设一条沟底光缆。

在铺设光缆之前需要对沟底的地形进行初步探测,从而估计所需光缆的长度,为工程预算提供依据。

已探测到一组等分点位臵的深度数据(单位: 米)如下表所示:(1)请用合适的曲线拟合所测数据点;(2)估算所需光缆长度的近似值,并作出铺设河底光缆的曲线图;2.2算法思想利用曲线拟合数据点,即利用数据点拟合差值多项式,我们可以利用Newton 法进行拟合,也可以用复化Simpson求积公式、三次样条插值来拟合,但三次样条插值使用方程组计算增大了计算量,同时还要附加边界条件,分段三次样条插值对图形的控制能力还不够灵活。

因此这里用Newt on形式的差值多项式进行拟合。

首先计算出各差商,然后计算出Newton差值多项式的每一项,最后将所有项相加,即可计算出Newton差值多项式,然后利用所得的差值多项式一次算出多个点的函数值。

MATLAB的plot函数进行绘图。

计算长度近似值,只需将每隔两点之间的距离算出,然后一次相加,所得的折线长度,即为长度的近似值。

2.3 Matlab源程序Un titled2clearclcx=0:1: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];%俞入给定的数据点xi=0:20;[Nx,Ni]=Newto n(x,y,xi);plot(xi,Ni);Ion g=0;for i=1:20Io ng=lo ng+sqrt(1+((y(i)-y(i+1)F2)); end disp ('需要的光缆长度为')disp(l ong)Newton插值法function [Nx,N0]=Newton(X,Y ,x0)n=size(X);y=Y;Nx=Y(1);N=1; %调用函数,建立Newton差值多项式%绘制拟合的曲线图%为长度赋初值%将每一段折线相加算出长度的近似值%显示需要的光缆长度%插值点个数for i=1: n-1 %计算Newton插值多项式for j=i+1: n yi(j)=(y(j)-y(i))/(x(j)-x(i)); endm(i)=yi(i+1);N=N*(x-X(i));Nx=Nx+N*m(i); y=yi;endNO=subs(Nx,'x',xO);2.4计算结果及总结针对上述Matlab程序,铺设海底光缆的曲线图如下图所示:结果如下:Nl=26.4844,即为所求近似计算光缆长度。

本题利用Newton法进行拟合,既简单又使用,运行也可以用复化Simpson 求积公式、三次样条插值来拟合,但三次样条插值使用方程组计算增大了计算量, 同时还要附加边界条件,分段三次样条插值对图形的控制能力还不够灵活。

题目二3.1题目内容假定某天的气温变化记录如下表所示,试用数据拟合的方法找出这一天的气温变化的规律;试计算这一天的平均气温,并试估计误差。

3.2算法思想在本题中,数据点的数目较多。

相关主题