西安交通大学计算方法B大作业资料
- 格式:docx
- 大小:216.44 KB
- 文档页数:22
课程设计课程名称:数值计算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章引论习题参考答案习题一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大学计算机根底第1章引论习题二1.在计算机内,一切信息的存取、传输和处理都是以〔二进制码〕形式进行的。
计算方法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所示由上图可以看出,所得到的曲线光滑,能够较好得反映实际的河沟底部地势 形貌。
计算方法(A)大作业姓名:班级:专业:学号:共轭梯度法一、算法原理共轭梯度法是把求解线性方程组的问题转化为求解一个与之等价的二次函数极小化的问题,因此从任意给定的初始点出发,沿一组关于矩阵A的共轭方向进行线性搜索,在无舍入无差的假定下,最多迭代n(其中n为矩阵A的阶数)次就可求得二次函数的极小点,也就求得了线性方程组Ax=B的解。
下述定理给出了求系数矩阵A是对称正定矩阵的线性方程组Ax=b的解与求二次函数f(x)=12x T Ax−b T x极小点的等价性。
定理3.4.1设A是n阶对称正定矩阵,则x∗是方程组Ax=b的解的充分必要条件是x∗是二次函数f(x)=12x T Ax−b T x的极小点,即Ax∗=b⟺f(x∗)=minx∈R nf(x)证明:充分性.设x∗是f(x)的极小点,则由无约束最优化问题最优解的必要条件知∇f(x∗)=Ax∗−b即x∗是方程组Ax=b的解。
必要性. 若x∗是方程组Ax=b的解,即A x∗=b,注意到A是对称正定矩阵,故∀x∈R n有f(x)−f(x∗)=12x T Ax−b T x−12x T Ax∗+b T x∗=12(x T Ax−2b T x+x∗T Ax∗)−x∗T Ax∗+b T x∗=12(x T Ax−2(Ax∗)T x+x∗T Ax∗)−(Ax∗−b)T x∗=12(x−x∗)T A(x−x∗)≥0即x∗是f(x)的极小点,进而由A是正定矩阵知,x∗是f(x)的最小点。
证毕。
共轭梯度法在形式上具有迭代法的特征,在给定初始值情况下,根据迭代公式:x(k+1)=x(k)+αk d(k)产生的迭代序列x(1),x(2),x(3)…在无舍入误差假定下,最多经过n次迭代,就可求得f(x) 的最小值,也就是方程Ax=b的解。
共轭梯度法中关键的两点是,确定迭代格式中的搜索向量d(k)和最佳步长αk (αk≥0)。
实际上,搜索方向d(k)是关于矩阵A的共轭向量,在迭代中逐步构造之。
计算方法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三次样条插值法拟合海底光缆曲线由上图可以看出,所得到的曲线光滑,能够较好得反映实际的河沟底部地势形貌。
计算方法上机报告姓名:学号:班级:目录题目一-------------------------------------------------------------------- 4-1.1题目内容 ---------------------------------------------------------- 4-1.2算法思想 ----------------------------------------------------------- 4-1.3Matlab 源程序--------------------------------------------------- 5 -1.4计算结果及总结 ------------------------------------------------ 5-题目二---------------------------------------------------------------- 7-2.1题目内容 ----------------------------------------------------------- 7-2.2算法思想 ------------------------------------------------------------ 72.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算法思想 ---------------------------------------------------------- 185.3 Matlab 源程序 ------------------------------------------------------ 185.3.1 非压缩带状对角方程组----------------------------------- 18 -5.3.2压缩带状对角方程组--------------------------------------- 20-5.4实验结果及分析 ----------------------------------------------- 22-5.4.1Matlab 运行结果 ------------------------------------------- 22-5.4.2总结分析------------------------------------------------- 24-5.5本专业算例 --------------------------------------------------- 24 -学习感悟------------------------------------------------------------- 27 -1.1题目内容(1)若保留11个有效数字,给出计算结果,并评价计算的算法;0个有效数字,贝4又将如何进行计算8n 51.2算法思想在程序编写中需要把握以下几点:①随着n值的增加,和式的项递减速度很快,因此我们可以认为,在确定为某一精度的前提下,n达到一定的值,加下一项将不会对最终的加和产生影响,首先我们应找到n值。
②根据精度要求估计所加的项数,可以使用后验误差估计,通项为:1 ' 42 1 1n③为减小舍入误差,在计算s时所采用的方法是逆序相加,其依据是:两个数量级相差较大的数字相加减时,较小数的有效数字会被丧失,从而导致最后的运算结果失真。
为避环大数吃护数”象的发生,采J用逆序相加。
④对于实现30位有效数字,则调用从工具箱中digits(位数)或vpa变量,精度位数)即可实现1.3Matlab源程序>>clear;>>clc;>> m=input('输入需要求的有效数字位数m=');s=0forn=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; end s=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源程序Un titled2 clear clc x=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)); enddisp ('需要的光缆长度为')disp(l ong)Newton插值法function [Nx,N0]=Newton(X,Y ,x0)n=size(X);y=Y;Nx=Y(1);N=1;for i=1: n-1for 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;endN0=subs(Nx,'x',x0);%调用函数,建立Newton差值多项式%绘制拟合的曲线图%为长度赋初值%将每一段折线相加算出长度的近似值%显示需要的光缆长度%插值点个数%计算Newton插值多项式2.4计算结果及总结针对上述Matlab程序,铺设海底光缆的曲线图如下图所示:结果如下:Nl=26.4844,即为所求近似计算光缆长度。
本题利用Newton法进行拟合,既简单又使用,运行也可以用复化Simpson 求积公式、三次样条插值来拟合,但三次样条插值使用方程组计算增大了计算量, 同时还要附加边界条件,分段三次样条插值对图形的控制能力还不够灵活。
题目二3.1题目内容假定某天的气温变化记录如下表所示,试用数据拟合的方法找出这一天的气温 变化的规律;试计算这一天的平均气温,并试估计误差。
3.2算法思想在本题中,数据点的数目较多。
当数据点的数目很多时,用多项式插值”方 法做数据近似要用 较高次的多项式,这不仅给计算带来困难,更主要的缺点是误 差很大。