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

合集下载

计算方法大作业1 克服Runge现象

计算方法大作业1  克服Runge现象

x3
x2
x
1
S1 ( x)
-0.34685
0.2086
0.073964
0.038462
S2 (x)
S (xi 0 ) S x(i 0 )

S
'
(xi

0) S
xi' (
0 )i

S
'
'
x(i

0)S
xi' ' (
0)
1 ,n2, . . . , 1
(1)
这里共有了 3n-3 个条件,再加上条件(2)中的 n+1 个插值条件,共有 4n-2 个条件,
因此还需要 2 个方程才能确定 S (x) .通常可在区间[a, b]的端点 a x0,b xn 上各加一个边

dn1

1
2


Mn


dn

(6)
2 1


2
2
2
1 M1 d1

M2


d2




n 1
2
n
1


M
n
1

dn1
n
n 2 M n dn
由式(1)内点拼接条件,可得
i M i1 2M i i M i1 d j i 1, 2,..., n 1
(3) (4)
其中
i

hi 1 hi1
, hi

i

hi hi 1

西安交大并行计算作业

西安交大并行计算作业

并行计算与程序设计作业班级:姓名:学号:1.1至1.3节作业1.调试课件中的所有程序,并完成作业,同时在程序结果中需要输出个人信息;代码:Program mainwrite(*,*)'班级:', 'write(*,*)'姓名:',' 'print *,'学号:',''end2.编写一个数值求解方程的程序,方程为4.1x3 −5.3x=11.8,求解区间为(1,5),误差小于1e-6。

代码:a=1b=5if(f(a)*f(b).LT.0) thenwrite(*,*)'inter:(',a,',',b,')'Loop1: do while((abs(f(a)-f(b)).gt.10e-6).and.$ (abs(a-b).gt.10e-6))c=(a+b)/2if(f(a)*f(c).le.0)thenb=celsea=cend ifend do Loop1write(*,*)'x=',celsewrite(*,*)'Please input real interval'end ifendreal function f(x)f=4.1*x**3-5.3*x-11.8end结果:1.4节作业1.采样简单离散求和法求下面积分值:∫x2sin(x)+1dx 1代码:read(*,*) a,b,nh=(b-a)/(2.0*n)s=0.0x=a+hf2=0.0f4=0.0loop1: do i=1,n-1x=x+hf2=f2+f(x)x=x+hf4=f4+f(x)end do loop1s=h/3.0*(f(a)+f(b)+4.0*f4+2.0*f2)write(*,150) s100 format(1x,'a=',f8.2,2x,'b=',f8.2,$ 2x,'n=',i4)150 format(1x,'s=',f16.7)endreal function f(x)f=x**2/(sin(x)+1)endd ouble precision i,ai,ydouble precision sum=0i=1do 10 while(1/sum=1/i+sumi=i+110 continuewrite(*,*) 'sum=',sumend结果:1.6节作业1.调试课本中的所有程序;(结果略)2.用双精度型数据计算:∑1i=11+12+13+⋯+1nni=1直到1n≤10−5代码:double precision sum=0i=1do 10 while(1/sum=1/i+sumi=i+110 continuewrite(*,*) 'sum=',sumend结果:3.已知三角形三个顶点的坐标分别为A(1.5,2.5),B(-2.5,1), C(1,-1),采用复型数据类型求三角形的面积和重心。

数值计算B大作业

数值计算B大作业

课程设计课程名称:数值计算B设计题目:数值计算B大作业学号:姓名:完成时间:题目一:多项式插值某气象观测站在8:00(AM )开始每隔10分钟对天气作如下观测,用三次多项式插值函数(Newton)逼近如下曲线,插值节点数据如上表,并求出9点30分该地区的温度(x=10).二、数学原理假设有n+1个不同的节点及函数在节点上的值(x 0,y 0),……(x n ,y n ),插值多项式有如下形式:)())(()()()(n 10n 102010n x -x )(x -x x -x x P x x x x x x -⋯⋯-+⋯⋯+-++=αααα (1) 其中系数i α(i=0,1,2……n )为特定系数,可由插值样条i i n y x P =)((i=0,1,2……n)确定. 根据均差的定义,把x 看成[a ,b ]上的一点,可得f(x)= f (0x )+f[10x x ,](0x -x )f[x, 0x ]= f[10x x ,]+f [x ,10x x ,] (1x -x )……f [x, 0x ,…x 1-n ]= f[x , 0x ,…x n ]+ f [x, 0x ,…x n ](x —x n )综合以上式子,把后一式代入前一式,可得到:f(x )= f [0x ]+f[10x x ,](0x -x )+ f [210x x x ,,](0x -x )(1x -x )+…+ f [x, 0x ,…x n ](0x -x )…(x —x 1-n )+ f [x, 0x ,…x n ,x ])(x 1n +ω= N n (x )+)(x n R 其中N n (x )= f[0x ]+f[10x x ,](0x -x )+ f[210x x x ,,](0x -x )(1x -x )+…+ f[x , 0x ,…x n ](0x -x )…(x —x 1-n ) (2))(x n R = f(x )— N n (x )= f [x , 0x ,…x n ,x ])(x 1n +ω (3) )(x 1n +ω=(0x -x )…(x —x n ) Newton 插值的系数i α(i=0,1,2……n )可以用差商表示。

大学计算机基础习题答案(西安交大)

大学计算机基础习题答案(西安交大)

习题参考答案习题一1.第一代计算机的主要部件是由(电子管和继电器)构成的。

2.未来全新的计算机技术主要指(光子计算机),(生物计算机)和(量子计算机)。

3.按照Flynn分类法,计算机可以分为(单指令流单数据流),(单指令流多数据),(多指令流单数据流)和(多指令流多数据流)4种类型。

4.计算机系统主要由(硬件系统)和(软件系统)组成。

5.说明以下计算机中的部件是属于主机系统、软件系统、还是属于外部设备。

(1)CPU (主机系统)(2)内存条(主机系统)(3)网卡(主机系统)(4)键盘和鼠标(外设)(5)显示器(外设)(6)Windows操作系统(软件系统)6.控制芯片组是主板的的核心部件,它由(北桥芯片)部分和(南桥芯片)部分组成。

7.在计算机系统中设计Cache的主要目的是(提高存去速度)。

8.计算机各部件传输信息的公共通路称为总线,一次传输信息的位数称为总线的(宽度)。

9.PCIE属于(系统)总线标准,而SATA则属于(硬盘接口或外设)标准。

10.在微机输入输出控制系统中,若控制的外部设备是发光二极管,最好选用的输入输出方法是(程序控制)方式;若控制的对象是高速设备,则应选则(DMA)控制方式。

11.操作系统的基本功能包括(处理器管理或进程管理)、(文件管理)、(存储器管理)、(设备管理)和用户接口。

12.虚拟存储器由(主内存)和(磁盘)构成,由操作系统进行管理。

13.CPU从外部设备输入数据需要通过(输入接口),向外设输出数据则需要通过(输出接口)。

14.简述CPU从外部设备输入数据和向外设输出数据的过程。

请参见教材第18页关于输入输出过程的描述。

15.普适计算的主要特点是(是一种无处不在的计算模式)。

习题二1.在计算机内,一切信息的存取、传输和处理都是以(二进制码)形式进行的。

2.在微机中,信息的最小单位是(bit)。

3.在计算机中,1K字节表示的二进制位数是(1024×8bit)。

西安交大计算方法上机报告

西安交大计算方法上机报告

从而得到计算的公式:
j 1, 2,..., n 1 j 1 j l i1 i 2,3,..., n i1 11 i 1 lik ukj j i , i 1,..., n, i 2,3,.., n ij ij k 1 i 1 1 l ( lkt ti ) k i 1,..., n, i 2,3,.., n ki ki t 1 ii
计算方法 上机实习题目报告
班级:材料 s3076 班 姓名:丁明帅 学号:3113305029
1:计算 S
100000

k 1
1 ,要求误差小于 106 ,给出实现算法。 k2
【实现思路】
设当 k 值为 i 时 S-Si<10-6,则只需要
S Si

100000 1
k i
1
2
1 l32 ln 2 1 ln 3 1
4 / 46
12 22
1n 2 n

nn
因此有
1 j 2 j 0 jj 0 0
ij li1
li 2
li ,i -1
根据定义知道 L 矩阵的斜对角线上的值都为 1,且 L 矩阵的第一行与原矩阵 A 的第一行 相同,因此可以根据公式先计算 U 的第一行,然后计算 L 的第一列;以后的第 i 步先计算 U 的第 i 行, 然后计算 L 的第 i 列 (U 的第 n 行不作计算) 。 然后把最后的 U 的第 n 行计算出来。
【算法依据】
列主元高斯消元法的过程可以将方程组系数简化为系数矩阵与 b 矩阵, 从而利用方程组 对系数扩展矩阵进行消元。 在消元的过程中矩阵的行向量之间可以变换, 但列向量不能变化。 在进行压缩矩阵的求解中还需要人为的将因调整行向量所导致的列向量的变化调整回来。 Matlab 对于矩阵的处理非常容易,结合 for 循环语句可以实验本题大规模方程组的求解。

西安交大 计算方法B上机作业

西安交大 计算方法B上机作业

计算方法(B )上机作业一、三次样条拟合某通信公司在一次施工中,需要在水面宽度为20米的河沟底部沿直线走向铺设一条沟底光缆。

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

已探测到一组等分点位置的深度数据(单位:米)如下表所示:(1)(2)估算所需光缆长度的近似值,并作出铺设河底光缆的曲线图; 解:1、算法实现的思想及依据题目(1)为曲线拟合问题多项式插值、分段插值和最小二乘法。

多项式插值,随着插值数据点的数目增多,误差也会随之增大,因此不选用。

最小二乘法适于数据点较多的场合,在此也不适用。

故选用分段插值。

分段插值又分为分段线性插值、分段二次插值、三次样条插值及更高阶的多项式插值。

由本题的物理背景知,光缆正常工作时各点应该是平滑过渡,因此至少选用三次样条插值法。

对于更高阶的多项式插值,由于“龙格现象”而不选用。

题目(2)求光缆长度,即求拟合曲线在0到20的长度,对弧长进行积分即可。

光缆长度的第一型线积分表达式为190k kk l +==∑⎰。

2、算法实现的结构参考教材给出的SPLINEM 算法和TTS 算法,在选定边界条件和选定插值点等距分布后,可以先将数据点的二阶差商求出来并赋值给右端向量d ,再根据TSS 解法求解M 。

光缆长度的第一型线积分表达式为190k kk l +==∑⎰。

3、程序运行结果及分析图1.1三种边界条件下三次样条插值图1.2光缆长度4、MATLAB代码:1)自己编程实现代码clear;clc;I=input('你想使用第几种边界条件?请输入1、2、3之一: ');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.8 10.93];plot(x,-y,'k.','markersize',15)%y为深度,取负号hold on%% 计算一阶差商y1=ones(1,21);for i=2:1:21y1(i)=(y(i)-y(i-1))/(x(i)-x(i-1));end%% 计算二阶差商y2=ones(1,21);for i=3:1:21y2(i)=(y1(i)-y1(i-1))/(x(i)-x(i-2));end%% 计算三阶差商y3=ones(1,21);for i=4:1:21y3(i)=(y2(i)-y2(i-1))/(x(i)-x(i-3));end%% 选择边界条件(I)if I==1d(1)=0;d(21)=0;a(21)=0;c(1)=0;% 第一个点和最后一个点的二阶差商为0 endif I==2d(1)=6*y1(1);d(21)=-6*y1(21);a(1)=1;c(1)=1;endif I==3d(1)=-12*y3(1);d(21)=-12*y3(21);a(21)=-2;c(1)=-2;%endfor i=2:20d(i)=6*y2(i+1);end%% 构造带状矩阵求解(追赶法)b=2*ones(1,21);a=0.5*ones(1,21);%a(21)=-2;c=0.5*ones(1,21);%c(1)=-2;u(1)=b(1);r(1)=c(1);%% 追yz(1)=d(1);for i=2:21l(i)=a(i)/u(i-1);u(i)=b(i)-l(i)*r(i-1);r(i)=c(i);yz(i)=d(i)-l(i)*yz(i-1);end%% 赶xg(21)=yz(21)/u(21);for i=20:-1:1xg(i)=(yz(i)-r(i)*xg(i+1))/u(i);endM=xg;%%所有点的二阶导数值%% 求函数表达式并积分t=1;h=1;N=1000x1=0:20/(N-1):20;length=0;for i=1:Nfor j=2:20if x1(i)<=x(j)t=j;break;elset=j+1;endendf1=x(t)-x1(i);f2=x1(i)-x(t-1);S(i)=(M(t-1)*f1^3/6/h+M(t)*f2^3/6/h+(y(t-1)-M(t-1)*h^2/6)*f1+(y(t)-M(t)*h^2/6)* f2)/h;Sp(i)=-M(t-1)*f1^2/2/h+M(t)*f2^2/2/h+(y(t)-y(t-1))/h-(M(t)-M(t-1))*h/6;length(i+1)=sqrt(1+Sp(i)^2)*(20/(N-1))+length(i);%第一类线积分endfigure(1);plot(x1,-S,'r-')%深度曲线griddisp(['第',num2str(I),'种边界条件下长度',num2str(length(N+1)),'米'])axis fill;xlabel('测点/米');ylabel('深度/米');title('三次样条曲线拟合');legend('数据点','拟合曲线',3);二、最小二乘近似假定某天的气温变化记录如下表所示,试用数据拟合的方法找出这一天的气温变化的规律;试计算这一天的平均气温,并试估计误差。

西安交大计算方法B2017大作业

西安交大计算方法B2017大作业

计算方法B上机报告姓名:学号:班级:学院:任课教师:2017年12月29日题目一:1.1题目内容某通信公司在一次施工中,需要在水面宽度为20米的河沟底部沿直线走向铺设一条沟底光缆。

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

已探测到一组等分点位置的深度数据(单位:米)如下表所示:(1)请用合适的曲线拟合所测数据点;(2)估算所需光缆长度的近似值,并作出铺设河底光缆的曲线图;1.2实现题目的思想及算法依据首先在题目(1)中要实现的是数据的拟合,显然用到的是我们在第三章中数据近似的知识内容。

多项式插值时,这里有21个数据点,则是一个20次的多项式,但是多项式插值随着数据点的增多,会导致误差也会随之增大,插值结果会出现龙格现象,所以不适用于该题目中点数较多的情况。

为了避免结果出现大的误差,同时又希望尽可能多地使用所提供的数据点,提高数据点的有效使用率,这里选择分段插值方法进行数据拟合。

分段插值又可分为分段线性插值、分段二次插值和三次样条插值。

由于题目中所求光缆的现实意义,而前两者在节点处的光滑性较差,因此在这里选择使用三次样条插值。

根据课本SPLINEM算法和TSS算法,采用第三种真正的自然边界条件,在选定边界条件和选定插值点等距分布后,可以先将数据点的二阶差商求出并赋值给右端向量d,再根据TSS解法求解三对角线线性方程组从而解得M值。

求出M后,对区间进行加密,计算200个点以便于绘图以及光缆长度计算。

对于问题(2),使用以下的公式20f (x)2dxf'(x)2dx(x )ds1.3算法结构1. For i 0,1,2, , n12. x kelse i 1 kxx k1〜一〜h; x< x x; x x<13 x xh2h" 〜[M k 1 _ M k (y k 1 M k 1 )x (y k M k —)xVh y6 6 6 61.4 matlab 源程序n=20;x=O:n;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.229.15 7.90 7.95 8.86 9.81 10.80 10.93];M=y; %用于存放差商,此时为零阶差商h=zeros(1, n+1);c=zeros(1, n+1);d=zeros(1, n+1);a=zeros(1, n+1);b=2*o nes(1, n+1);h(2)=x(2)-x(1);for i=2:n %书本110 页算法SPLINEMh(i+1)=x(i+1)-x(i);c(i)=h(i+1)/(h(i)+h(i+1));a(i)=1-c(i);enda(n +1)=-2; %计算边界条件c(0),a(n+1),采用的是第三类边界条件c(1)=-2;for k=1:3 %计算k阶差商for i=n+1:-1:k+1M(i)=(M(i)-M(i-1))/(x(i)-x(i-k));endif(k==2) %计算2阶差商d(2:n)=6*M(3:n+1); %给 d 赋值endif(k==3)d(1)=(-12)*h(2)*M(4); %计算边界条件d(0),d(n),采用的是第三类边界条件d( n+1)=12*h( n+1)*M( n+1);endendl=zeros(1, n+1);r=zeros(1, n+1);u=zeros(1, n+1);q=zeros(1, n+1);u(1)=b(1);r(1)=c(1);q(1)=d(1);for k=2:n+1 %利用书本49页算法TSS求解三对角线性方程组r(k)=c(k);l(k)=a(k)/u(k-1);u(k)=b(k)-l(k)*r(k-1);q(k)=d(k)-l(k)*q(k-1);endp( n+1)=q( n+1)/u( n+1);for k=n :-1:1p(k)=(q(k)-r(k)*p(k+1))/u(k);endfprintf('三对角线性方程组的解为:');disp(p);%求拟合曲线x1=0:0.1:20; %首先对区间进行加密,增加插值点n1=10* n;x2=zeros(1, n1+1);x3=zeros(1, n1+1);s=zeros(1, n1+1);for i=1: n1+1for j=1: nif x1(i)>=x(j)&&x1(i)<=x(j+1) %利用书本111 页算法EVASPLINE 求解拟合曲线s(x)h(j+1)=x(j+1)-x(j);x2(i)=x(j+1)-x1(i);x3(i)=x1(i)-x(j);s(i)=(p(j).*(x2(i))A3/6+p( j+1).*(x3(i))A3/6+(y(j)-p(j).*((h(j+1))A2/6)).*x2(i)+…(y(j+1)-p(j+1).*(h(j+1))A2/6).*x3(i))/h(j+1);endendendplot(x,-y,'x') %画出插值点hold onplot(x1,-s) %画出三次样条插值拟合曲线hold ontitle('三次样条插值法拟合电缆曲线');xlabel('河流宽度/m');ylabel('河流深度/m');Len gth=0;for i=1: n1L=sqrt((x1(i+1)-x1(i))A2+(s(i+1)-s(i))A2); % 计算电缆长度Len gth=Le ngth+L;endfprintf('电缆长度(m)=');disp(Le ngth);图1. 1三次样条插值法拟合海底光缆曲线山舅 10 -0.70091,922& 0.8703 -山 24斫 0.3520 -0.9224 -1,8224电缆长 l(n)= 26.6656图1.2海底光缆长度结果铺设海底光缆的曲线如图1.1所示由上图可以看出,所得到的曲线光滑,能够较好得反映实际的河沟底部地势 形貌。

西安交通大学《计算方法》课件-第一章

西安交通大学《计算方法》课件-第一章

浮点运算原则
(1)避免产生大结果的运算,尤其是避免小数作为除数 参加运算 (2)避免“大”“小”数相加减 (3)避免相近数相减,防止大量有效数字损失 (4)尽可能简化运算步骤,减少运算次数
第1章 绪论
定义 数据相对小的变化引起解的相对大的变化的问题 称为病态问题,否则称为良态问题。
问题的性态就是指问题的解对原始数据扰动的敏感性
第1章 绪论
浮点数系运算误差
(2)计算结果的尾数多于t位数字
在F (2,3,1,2)中
(0.100 20 ) (0.111 20 ) 0.1101 21 (0.100 22 ) (0.111 21 ) 0.1000111 22
需要对结果进行舍入处理,产生的差称为舍入误差
记为F ( , t , L,U )
l
将计算机中所能表示的全体数的集合称为计算机的浮点数系
浮点数系中的数的个数是有限的,其个数为
2( 1) t 1 (U L 1) 1
第1章 绪论
浮点数系的误差
在计算机的浮点数系中,四则运算是非封闭的 为使经过算术运算产生的结果仍然要用浮点数系中的数 表示,因此必须用一个比较接近的数来代替 因此产生误差 称此误差称为舍入误差
第1章 绪论
第1章 绪论
什么是计算方法
《计算方法》介绍基本的数学问题中的主要数值方法, 介绍方法的思想、结构、条件、对输入数据的要求、生成 数据的意义、应注意的事项等 介绍数值计算中的一些最基本的概念 设计常见应用问题的数值处理方法 对数值方法的数值特性进行研究 分析方法的可靠性 分析方法的效率
第1章 绪论
问题的性态
已知问题f ( x)的输入数据只有一个 ,用x来表示 若有两个输入数据x和~ x , 则可以得到两个不同的结果f ( x)和f ( ~ x)

西电算法设计大作业

西电算法设计大作业

算法设计大作业寻找多数元素班级:021151学号:02115037姓名:隋伟哲(1)问题提出:令A[1,2,…n]是一个整数序列,A中的整数a如果在A中出现的次数多余⎣n/2⎦,那么a称为多数元素。

例如在序列1,3,2,3,3,4,3中,3是多数元素,因为在7个元素中它出现了四次。

有几个方法可以解决这个问题。

蛮力方法是把每个元素和其他各个元素比较,并且对每个元素计数,如果某个元素的计数大于⎣n/2⎦,就可以断定它是多数元素,否则在序列中就没有多数元素。

但这样比较的次数是n(n-1)/2=Θ(错误!未找到引用源。

),这种方法的代价太昂贵了。

比较有效的算法是对这些元素进行排序,并且计算每个元素在序列中出现了多少次。

这在最坏情况下的代价是Θ(n 错误!未找到引用源。

).因为在最坏情况下,排序这一步需要Ω(n 错误!未找到引用源。

)。

另外一种方法是寻找中间元素,就是第⎡n/2⎤元素,因为多数元素在排序的序列中一定是中间元素。

可以扫描这个序列来测试中间元素是否是多数元素。

由于中间元素可以在Θ(n)时间内找到,这个方法要花费Θ(n)时间。

有一个漂亮的求解方法,它比较的次数要少得多,我们用归纳法导出这个算法,这个算法的实质是基于下面的观察结论。

观察结论:在原序列中去除两个不同的元素后,原序列的多数元素在新序列中还是多数元素。

这个结论支持下述寻找多数元素候选者的过程。

将计数器置1,并令c=A[1]。

从A[2]开始逐个扫描元素,如果被扫描的元素和c相等。

则计数器加1,否则计数器减1.如果所有的元素都扫描完并且计数器的值大于0,那么返回c作为多数元素的候选者。

如果在c和A[j](1<j<n)比较式计数器为0,那么对A[j+1,…n]上的过程调用candidate过程。

算法的伪代码描述如下。

(2)算法Input: An array A[1…n] of n elements;Output: The majority element if it exists; otherwise none;1. c←candidate(1);2. count←0;3. for j←1 to n4. if A[j]=c then count←count+1;5. end for;6. if count>⎣n/2⎦ then return c;7. else return none;candidate(m)1. j←m; c←A[m]; count←1;2. while j<n and count>03. j←j+1;4. if A[j]=c then count←count+1;5. else count←count-1;6. end while;7. if j=n then return c;8. else return candidate(j+1);(3)代码//Majority.cpp#include<iostream>using namespace std;int Candidate(int *A, int n, int m);int Majority(int *A, int n);int main(){int n;cout << "please input the number of the array: ";cin >> n;int *A;A = (int *) malloc(n*sizeof(int) );cout << "please input the array: ";for (int i = 0; i < n; i++)cin >> A[i];if (Majority(A, n) != 'N')cout << "the majority is: " << Majority(A, n);elsecout << "the majority element do not exist! ";free(A);cin.get();cin.get();return 0;}int Majority(int *A, int n){int c = Candidate(A, n, 0), count = 0;for (int j = 0; j < n; j++)if (A[j] == c)count += 1;if (count > n / 2)return c;else return'N';}int Candidate(int *A, int n, int m){int j = m, c = A[m], count = 1;while (j < n && count>0){j += 1;if (A[j] == c)count += 1;else count -= 1;}if (j == n)return c;else return Candidate(A, n, j + 1); }(4)运行结果(5)设计实例首先输入数据的个数n=7,然后依次读入n个数(1,3,2,3,3,4,3)。

西安交大计算方法B2017大作业

西安交大计算方法B2017大作业

计算方法B上机报告姓名:学号:班级:学院:任课教师:2017年12月29日题目一:1.1题目内容某通信公司在一次施工中,需要在水面宽度为20米的河沟底部沿直线走向铺设一条沟底光缆。

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

已探测到一组等分点位置的深度数据(单位:(1)(2)估算所需光缆长度的近似值,并作出铺设河底光缆的曲线图;1.2 实现题目的思想及算法依据首先在题目(1)中要实现的是数据的拟合,显然用到的是我们在第三章中数据近似的知识内容。

多项式插值时,这里有21个数据点,则是一个20次的多项式,但是多项式插值随着数据点的增多,会导致误差也会随之增大,插值结果会出现龙格现象,所以不适用于该题目中点数较多的情况。

为了避免结果出现大的误差,同时又希望尽可能多地使用所提供的数据点,提高数据点的有效使用率,这里选择分段插值方法进行数据拟合。

分段插值又可分为分段线性插值、分段二次插值和三次样条插值。

由于题目中所求光缆的现实意义,而前两者在节点处的光滑性较差,因此在这里选择使用三次样条插值。

根据课本SPLINEM 算法和TSS 算法,采用第三种真正的自然边界条件,在选定边界条件和选定插值点等距分布后,可以先将数据点的二阶差商求出并赋值给右端向量d ,再根据TSS 解法求解三对角线线性方程组从而解得M 值。

求出M 后,对区间进行加密,计算200个点以便于绘图以及光缆长度计算。

对于问题(2),使用以下的公式:20=()L f x ds ⎰20(f x =⎰191(k kk f x +==∑⎰1.3 算法结构1. For n i ,,2,1,0⋅⋅⋅=1.1 i i M y ⇒2. For 2,1=k2.1 For k n n i ,,1, -=2.1.1 i k i i i i M x x M M ⇒----)/()(13. 101h x x ⇒-4. For 1-,,2,1n i =4.1 11++⇒-i i i h x x4.2 b a c c h h h i i i i i i ⇒⇒-⇒+++2;1;)/(11 4.3 i i d M ⇒+165. 0000;;c M d M d n n ⇒⇒⇒λn n n b a b ⇒⇒⇒2;;20μ6. 1111,γμ⇒⇒d b7. For m k ,,3,2 = ! 获取M 的矩阵元素个数,存入m7.1 k k k l a ⇒-1/μ 7.2 k k k k c l b μ⇒⋅-1- 7.3 k k k k l d γγ⇒⋅-1- 8. m m m M ⇒μγ/9. For 1,,2,1 --=m m k9.1 k k k k k M M c ⇒⋅-+μγ/)(110. k ⇒1 ! 获取x 的元素个数存入s 11. For 1,,2,1-=s i11.1 if i x x ≤~then k i ⇒;break else k i ⇒+112. xx x x x x h x x k k k k ˆ~;~;11⇒-⇒-⇒--- y h x h M y x h M y x M x M k k k k k k ~/]ˆ)6()6(6ˆ6[2211331⇒-+-++---1.4 matlab 源程序n=20; x=0:n;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];M=y; %用于存放差商,此时为零阶差商 h=zeros(1,n+1); c=zeros(1,n+1); d=zeros(1,n+1); a=zeros(1,n+1); b=2*ones(1,n+1); h(2)=x(2)-x(1);for i=2:n %书本110页算法SPLINEM h(i+1)=x(i+1)-x(i);c(i)=h(i+1)/(h(i)+h(i+1)); a(i)=1-c(i); enda(n+1)=-2; %计算边界条件c(0),a(n+1),采用的是第三类边界条件 c(1)=-2;for k=1:3 %计算k 阶差商 for i=n+1:-1:k+1M(i)=(M(i)-M(i-1))/(x(i)-x(i-k)); endif(k==2) %计算2阶差商 d(2:n)=6*M(3:n+1); %给d 赋值 endif(k==3)d(1)=(-12)*h(2)*M(4); %计算边界条件d(0),d(n),采用的是第三类边界条件 d(n+1)=12*h(n+1)*M(n+1); end endl=zeros(1,n+1); r=zeros(1,n+1); u=zeros(1,n+1); q=zeros(1,n+1); u(1)=b(1); r(1)=c(1); q(1)=d(1);for k=2:n+1 %利用书本49页算法TSS求解三对角线性方程组r(k)=c(k);l(k)=a(k)/u(k-1);u(k)=b(k)-l(k)*r(k-1);q(k)=d(k)-l(k)*q(k-1);endp(n+1)=q(n+1)/u(n+1);for k=n:-1:1p(k)=(q(k)-r(k)*p(k+1))/u(k);endfprintf('三对角线性方程组的解为:');disp(p);%求拟合曲线x1=0:0.1:20; %首先对区间进行加密,增加插值点n1=10*n;x2=zeros(1,n1+1);x3=zeros(1,n1+1);s=zeros(1,n1+1);for i=1:n1+1for j=1:nif x1(i)>=x(j)&&x1(i)<=x(j+1) %利用书本111页算法EVASPLINE求解拟合曲线s(x)h(j+1)=x(j+1)-x(j);x2(i)=x(j+1)-x1(i);x3(i)=x1(i)-x(j);s(i)=(p(j).*(x2(i)).^3/6+p(j+1).*(x3(i)).^3/6+(y(j)-p(j).*((h(j+1)).^2/6)).*x2( i)+...(y(j+1)-p(j+1).*(h(j+1)).^2/6).*x3(i))/h(j+1);endendendplot(x,-y,'x') %画出插值点hold onplot(x1,-s) %画出三次样条插值拟合曲线hold ontitle('三次样条插值法拟合电缆曲线');xlabel('河流宽度/m');ylabel('河流深度/m');Length=0;for i=1:n1L=sqrt((x1(i+1)-x1(i))^2+(s(i+1)-s(i))^2); %计算电缆长度Length=Length+L;endfprintf('电缆长度(m)=');disp(Length);1.5 结果与说明铺设海底光缆的曲线如图1.1所示图1. 1三次样条插值法拟合海底光缆曲线由上图可以看出,所得到的曲线光滑,能够较好得反映实际的河沟底部地势形貌。

2021年西安交通大学软件工程专业《计算机组成原理》科目期末试卷B(有答案)

2021年西安交通大学软件工程专业《计算机组成原理》科目期末试卷B(有答案)

2021年西安交通大学软件工程专业《计算机组成原理》科目期末试卷B(有答案)一、选择题1、在全相联映射、直接映射和组相联映射中,块冲突概率最小的是()。

A.全相联映射B.直接映射C.组相联映射D.不一定2、有效容量为128KB的Cache,每块16B,8路组相联。

字节地址为1234567H的单元调入该Cache,其tag应为()。

A.1234HB.2468HC.048DHD.12345H3、十进制数-0.3125的8位移码编码为()。

A.D8HB.58HC.A8HD.28H4、假设编译器规定int 和shot类型长度分别为32位和16位,若有下列C语言语句:unsigned short x=65530;unsigned int y=x;得到y的机器数为()。

A.00007FFAHB.0000 FFFAHC.FFFF 7FFAHD.FFFF FFFAH5、下列关于浮点数加减法运算的叙述中,正确的是()。

I.对阶操作不会引起阶码上溢或下溢Ⅱ.右归和尾数舍入都可能引起阶码上溢Ⅲ.左归时可能引起阶码下溢IV.尾数溢出时结果不一定溢出A.仅Ⅱ、ⅢB. 仅I、Ⅱ、ⅢC.仅I、Ⅲ、IⅣD. I、Ⅱ、Ⅲ、Ⅳ6、中断判优逻辑和总线仲裁方式相类似,下列说法中,正确的是()。

I.在总线仲裁方式中,独立请求方式响应时间最快,是以增加处理器开销和增加控制线数为代价的II.在总线仲裁方式中计数器查询方式,若每次计数都从“0”开始,则所有设备使用总线的优先级相等III.总线仲裁方式一般是指I/O设备争用总线的判优方式,而中断判优方式一般是指I/O设备争用CPU的判优方式IV.中断判优逻辑既可以通过硬件实现,也可以通过软件实现,A. I,IIB. I,III,IVC. I,II,IVD.I,IV7、某机器I/O设备采用异步串行传送方式传送字符信息,字符信息格式为1位起始位、8位数据位、1位校验位和1位停止位。

若要求每秒传送640个字符,那么该设备的有效数据传输率应为()。

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

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

计算方法上机报告姓名:学号:班级:目录题目一------------------------------------------------------------------------------------------ - 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 -5.1题目内容 --------------------------------------------------------------------------- - 18 -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题目内容计算以下和式:0142111681848586n n S n n n n ∞=⎛⎫=--- ⎪++++⎝⎭∑,要求: (1)若保留11个有效数字,给出计算结果,并评价计算的算法; (2)若要保留30个有效数字,则又将如何进行计算。

2024西安交大网络教育《计算机应用基础》答案...pptx

2024西安交大网络教育《计算机应用基础》答案...pptx

D.。ffice 正确答案:C涵分:2分 .一殷认为.办公和家用的计窠机是一种通用计算机。这是根据以下()的计算机分类方法划分的? A.机招计算机处理数据的方式 B.根榭计算机运用器闱 C.根据计算机的双校和处理实力 0.根据计口机的塔本结构 正确答案:B 涵分:2分 .支扑多个外假设%,'jCPU时钟无关,并用严格规定来保证高度的率程性和兼容性的总线是()• A.数据总找 B.地及总线 1«制总线 0.6部总线 正确答案:D涵分:2分
B.ARPANET C.标准网 D.WAN 正俄答案:B 满分I2分 .所iW的信息是指(). A.基本素材 B,非数值数据 C.数值数据 D.处理后的数据 正确答案:D满分:2分 24若想要在网上杳ifijWWWW息,及访问Web网站.则用户主机上必需安装并运行的软件是(). A, HTM1. C.阅读C
27.当我们在搜寻引擎中输入.申花”•想要去杳询一姓申花企业的资料时却搜寻出了许多申花足球队的新闻•我们 可以在搜寻的时候设入().
A,中佗&足球 B.申花+足球 C.申花-足球 D.申花。R足球 正确答案:C涌分:2分 .在文件累燎的树形书目结构中,从根书目到任何数据文件.其通路有()。 A.1条 B,二条 C.三条 0.多于三条 正确答案:D满分I2分 .关TM络协议•下列()迭项是正确的. A,是网民们签仃的合同
.当用户正在编辑文档时,突然死机或断电,将会使正在编辑的文。(). A,完全丢失 B.大孤分丢失 C.很少部分丢失 0.名发无损 正确答案:C满分:2分 .卜而关于系统更新说法正确的是(). A.系统筑要更新的因为操作系统在花背漏涧 B.系统更新后•可以不再受病悔的攻击 C.系统更新只能从微软10站下©补丁包 D.更新血南好下坡安装,否则系统会马上崩溃 正确答案:A涵分:2分 .Internet昆由《)发展而来的。 A.局域网

西安交大计算方法b大作业

西安交大计算方法b大作业

西安交大计算方法b大作业《计算方法B》上机实验报告学院:班级: 姓名:学号:机械工程学院2021年12月22日11.计算以下和式:S??1nn?016?211??4????8n?18n?48n?58n?6?,要求: ??(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:0a1=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; endS=vpa(s1-s2,m)2实验结果:11位有效数字计算结果如图1所示;30为有效数字计算结果如图2所示。

图1.11位有效数字计算结果图2.30为有效数字计算结果31. 某通信公司在一次施工中,需要在水面宽度为20米的河沟底部沿直线走向铺设一条沟底光缆。

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

已探测到一组等分点位置的深度数据(单位:米)如下表所示:分点深度分点深度分点深度 0 9.01 7 11.18 14 9.15 1 8.96 8 12.26 157.90 2 7.96 9 13.28 16 7.95 3 7.97 10 13.32 17 8.86 4 8.02 11 12.61 18 9.81 5 9.05 12 11.29 19 10.80 6 10.13 13 10.22 20 10.93 (1)请用合适的曲线拟合所测数据点;(2)估算所需光缆长度的近似值,并作出铺设河底光缆的曲线图;算法思想:由于题中所给点数为20,若采用高次多项式插值将产生很大的误差,所以拉格朗日或牛顿并不适用。

2022年西安交通大学计算机科学与技术专业《数据库原理》科目期末试卷B(有答案)

2022年西安交通大学计算机科学与技术专业《数据库原理》科目期末试卷B(有答案)

2022年西安交通大学计算机科学与技术专业《数据库原理》科目期末试卷B(有答案)一、填空题1、____________、____________、____________和是计算机系统中的三类安全性。

2、数据的安全性是指____________。

3、设某数据库中有商品表(商品号,商品名,商品类别,价格)。

现要创建一个视图,该视图包含全部商品类别及每类商品的平均价格。

请补全如下语句: CREATE VIEW V1(商品类别,平均价格)AS SELECT商品类别,_____FROM商品表GROUP BY商品类别;4、在一个关系R中,若每个数据项都是不可再分割的,那么R一定属于______。

5、数据仓库是______、______、______、______的数据集合,支持管理的决策过程。

6、如果多个事务依次执行,则称事务是执行______;如果利用分时的方法,同时处理多个事务,则称事务是执行______。

7、从外部视图到子模式的数据结构的转换是由______________实现;模式与子模式之间的映象是由______________实现;存储模式与数据物理组织之间的映象是由______________实现。

8、在SELECT命令中进行查询,若希望查询的结果不出现重复元组,应在SEL ECT语句中使用______保留字。

9、数据模型是由______________、______________和______________三部分组成。

10、在SQL Server 2000中,某数据库用户User在此数据库中具有对T 表数据的查询和更改权限。

现要收回User对T表的数据更改权,下述是实现该功能的语句,请补全语句。

_____UPDATE ON T FROM User;二、判断题11、关系中任何一列的属性取值是不可再分的数据项,可取自不同域中的数据。

()12、函数依赖是多值依赖的一个特例。

()13、在CREATEINDEX语句中,使CLUSTERED来建立簇索引。

计算方法B课程总结

计算方法B课程总结
计算方法B课程总结
目 录
• 课程内容概述 • 课程实践与应用 • 课程学习心得与体会 • 课程作业与考试情况分析 • 未来学习与发展计划
01 课程内容概述
计算方法B的定义与重要性
计算方法B的定义
计算方法B是一门研究数学计算方法的学科,主要涉及数值分析、算法设计与 分析等领域。它旨在培养学生掌握各种数值计算方法,并能够在实际问题中应 用。
数值分析
最优化问题
计算方法B也可以用于解决最优化问 题,如线性规划、非线性规划等,通 过引入计算方法B,可以更有效地找 到最优解。
计算方法B是数值分析的重要工具, 可以用于求解各种数值问题,如线性 方程组、非线性方程组、微分方程等。
计算方法B在科学计算中的应用
物理模拟
在科学计算中,计算方法B可以 用于物理模拟,如流体动力学、 电磁学等,通过引入计算方法B,
算法工程师
在算法研发团队中,利用 计算方法B优化和改进算法。
科研人员
在科研领域,利用计算方 法B进行数值模拟和预测, 为科研提供有力支持。
THANKS FOR WATCHING
感谢您的观看
03 课程学习心得与体会
对计算方法B的理解与认识
计算方法B是一门介绍数值计算原理和方法的课程,它涵盖了数学建模、数值分析、 线性代数、微积分等多个领域的知识。通过学习计算方法B,我深入理解了各种数值 计算方法的原理和应用场景,掌握了解决实际问题的技巧和方法。
计算方法B不仅介绍了各种数值计算方法,还强调了误差分析和收敛性的重要性 。这让我意识到数值计算的精度和稳定性对于实际问题的影响,并学会了如何选 择合适的数值方法来解决问题。
计算方法B的重要性
在现代科学和技术领域,计算已经成为解决各种复杂问题的关键手段。计算方 法B作为计算科学的核心课程之一,对于培养学生的计算思维和解决实际问题的 能力具有重要意义。

计算方法b课程设计

计算方法b课程设计

计算方法b课程设计一、课程目标知识目标:1. 学生能理解并掌握计算方法B中的基本概念,如插值法、数值积分和微分方程的数值解法。

2. 学生能够运用适当的计算方法解决实际问题,并对结果进行分析和评价。

3. 学生能够掌握计算方法B中涉及的数学原理和算法步骤,与高年级数学课程内容相衔接。

技能目标:1. 学生能够运用计算软件(如MATLAB)实现计算方法B中的算法,解决相关数学问题。

2. 学生通过小组合作,培养解决复杂问题的能力,学会在实际情境中运用计算方法B。

3. 学生能够通过实际案例,分析数据,撰写报告,提高计算思维和解决问题的技能。

情感态度价值观目标:1. 学生对计算方法B产生兴趣,认识到其在工程、自然科学等领域的重要应用。

2. 学生在学习过程中,培养严谨的科学态度,树立正确的数学观念。

3. 学生通过小组合作,培养团队协作精神,增强沟通与交流能力。

课程性质:本课程为专业基础课程,旨在帮助学生建立扎实的计算方法基础,提高解决实际问题的能力。

学生特点:学生处于大学二年级,具备一定的数学基础和编程能力,但对计算方法B的了解有限。

教学要求:结合学生特点,注重理论与实践相结合,强化上机操作和实际案例分析,提高学生的实际应用能力。

在教学过程中,关注学生的个别差异,因材施教,确保每位学生都能达到课程目标。

通过课程学习,使学生在知识、技能和情感态度价值观方面取得具体的学习成果,为后续课程和实际工作打下坚实基础。

二、教学内容本课程教学内容主要包括以下几部分:1. 插值法:介绍拉格朗日插值、牛顿插值、分段插值等方法,分析各种插值法的优缺点及适用范围。

2. 数值积分:讲解梯形法、辛普森法、高斯求积等数值积分方法,探讨数值积分的误差分析。

3. 微分方程的数值解法:介绍欧拉法、改进欧拉法、龙格-库塔法等求解常微分方程初值问题的数值方法。

4. 线性方程组的数值解法:讲解高斯消元法、LU分解、迭代法等方法,分析算法的稳定性和收敛性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算方法上机报告姓名:学号:班级:目录题目一------------------------------------------------------------------------------------------ - 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 -5.1题目内容 --------------------------------------------------------------------------- - 18 -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题目内容计算以下和式:0142111681848586n n S n n n n ∞=⎛⎫=--- ⎪++++⎝⎭∑,要求: (1)若保留11个有效数字,给出计算结果,并评价计算的算法; (2)若要保留30个有效数字,则又将如何进行计算。

1.2算法思想在程序编写中需要把握以下几点:①随着n 值的增加,和式的项递减速度很快,因此我们可以认为,在确定为某一精度的前提下,n 达到一定的值,加下一项将不会对最终的加和产生影响,首先我们应找到n 值。

②根据精度要求估计所加的项数,可以使用后验误差估计,通项为:142111416818485861681n n na n n n n n ε⎛⎫=---<< ⎪+++++⎝⎭ ③为减小舍入误差,在计算s 时所采用的方法是逆序相加,其依据是:两个数量级相差较大的数字相加减时,较小数的有效数字会被丧失,从而导致最后的运算结果失真。

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

④对于实现30位有效数字,则调用从工具箱中 digits(位数)或vpa (变量,精度位数)即可实现。

1.3Matlab源程序>>clear;>>clc;>> m=input('输入需要求的有效数字位数m=');s=0for n=0:200 %寻找满足条件的最小ns=(1/16^n)*(4/(8*n+1)-2/(8*n+4)-1/(8*n+5)-1/(8*n+6));if s<=10^(-m) %当项小于10^-m时,停止循环breakendend;fprintf('n值加至n%d\n',n-1); %需要将n值加到的数值for i=n-1:-1:0 %逐项逆序相加求和s=(1/16^i)*(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求积公式、三次样条插值来拟合,但三次样条插值使用方程组计算增大了计算量,同时还要附加边界条件,分段三次样条插值对图形的控制能力还不够灵活。

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

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

MATLAB的plot函数进行绘图。

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

2.3 Matlab源程序Untitled2clearclcx=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]=Newton(x,y,xi); %调用函数,建立Newton差值多项式plot(xi,Ni); %绘制拟合的曲线图long=0; %为长度赋初值for i=1:20 %将每一段折线相加算出长度的近似值long=long+sqrt(1+((y(i)-y(i+1))^2));enddisp ('需要的光缆长度为') %显示需要的光缆长度disp(long)Newton插值法function [Nx,N0]=Newton(X,Y,x0)n=size(X); %插值点个数y=Y;Nx=Y(1);N=1;for i=1:n-1 %计算Newton插值多项式for j=i+1:nyi(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;endN0=subs(Nx,'x',x0);2.4计算结果及总结针对上述Matlab程序,铺设海底光缆的曲线图如下图所示:结果如下:Nl=26.4844,即为所求近似计算光缆长度。

相关文档
最新文档