西安交通大学计算方法B上机试题

合集下载

2022年西安交通大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年西安交通大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年西安交通大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、有一个100*90的稀疏矩阵,非0元素有10个,设每个整型数占2字节,则用三元组表示该矩阵时,所需的字节数是()。

A.60B.66C.18000D.332、将两个各有N个元素的有序表归并成一个有序表,其最少的比较次数是()。

A.NB.2N-1C.2ND.N-13、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。

A.单链表B.仅有头指针的单循环链表C.双链表D.仅有尾指针的单循环链表4、已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7}, E={<V1,V2>,<V1,V3>,<V1,V4>,<V2,V5>,<V3,V5>, <V3,V6>,<V4,V6>,<V5,V7>,<V6,V7>},G的拓扑序列是()。

A.V1,V3,V4,V6,V2,V5,V7B.V1,V3,V2,V6,V4,V5,V7C.V1,V3,V5,V2,V6,V7D.V1,V2,V5,V3,V4,V6,V75、用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时()。

A.仅修改队头指针B.仅修改队尾指针C.队头、队尾指针都可能要修改D.队头、队尾指针都要修改6、已知字符串S为“abaabaabacacaabaabcc”,模式串t为“abaabc”,采用KMP算法进行匹配,第一次出现“失配”(s!=t)时,i=j=5,则下次开始匹配时,i和j的值分别()。

A.i=1,j=0 B.i=5,j=0 C.i=5,j=2 D.i=6,j=27、循环队列放在一维数组A中,end1指向队头元素,end2指向队尾元素的后一个位置。

西安交通大学算法上机实验报告

西安交通大学算法上机实验报告

《计算机算法设计与分析》上机实验报告姓名:班级:学号:日期:2016年12月23日算法实现题3-14 最少费用购物问题★问题描述:商店中每种商品都有标价。

例如,一朵花的价格是2元,一个花瓶的价格是5元。

为了吸引顾客,商店提供了一组优惠商品价。

优惠商品是把一种或多种商品分成一组,并降价销售。

例如,3朵花的价格不是6元而是5元。

2个花瓶加1朵花的优惠价格是10元。

试设计一个算法,计算出某一顾客所购商品应付的最少费用。

★算法设计:对于给定欲购商品的价格和数量,以及优惠价格,计算所购商品应付的最少费用。

★数据输入:由文件input.txt提供欲购商品数据。

文件的第1行中有1个整数B(0≤B≤5),表示所购商品种类数。

在接下来的B行中,每行有3个数C,K和P。

C表示商品的编码(每种商品有唯一编码),1≤C≤999;K表示购买该种商品总数,1≤K≤5;P是该种商品的正常单价(每件商品的价格),1≤P≤999。

请注意,一次最多可购买5*5=25件商品。

由文件offer.txt提供优惠商品价数据。

文件的第1行中有1个整数S(0≤S≤99),表示共有S种优惠商品组合。

接下来的S行,每行的第1个数描述优惠商品组合中商品的种类数j。

接着是j个数字对(C,K),其中C是商品编码,1≤C≤999;K表示该种商品在此组合中的数量,1≤K≤5。

每行最后一个数字P (1≤P≤9999)表示此商品组合的优惠价。

★结果输出:将计算出的所购商品应付的最少费用输出到文件output.txt。

输入文件示例输出文件示例Input.txt offer.txt output.txt2 2 147 3 2 1 7 3 58 2 5 2 7 1 8 2 10解:设cost(a,b,c,d,e)表示购买商品组合(a,b,c,d,e)需要的最少费用。

A[k],B[k],C[k],D[k],E[k]表示第k种优惠方案的商品组合。

offer (m)是第m种优惠方案的价格。

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

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

从而得到计算的公式:
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所示由上图可以看出,所得到的曲线光滑,能够较好得反映实际的河沟底部地势 形貌。

西安交大计算方法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三次样条插值法拟合海底光缆曲线由上图可以看出,所得到的曲线光滑,能够较好得反映实际的河沟底部地势形貌。

西安交通大学计算方法B完整版

西安交通大学计算方法B完整版

第一章绪论1.1数值计算现代科学的发展,已导致科学与技术的研究从定性前进到定量,尤其是现代数字计算机的出现及迅速发展,为复杂数学问题的定量研究与解决,提供了强有力的基础。

通常我们面对的理论与技术问题,绝大多数都可以从其物理模型中抽象出数学模型,因此,求解这些数学模型已成为我们面临的重要任务。

一、本课程的任务:寻求解决各种数学问题的数值方法——如何将高等数学的问题回归到初等数学(算术)的方法求解——了解计算的基础方法,基本结构(否则只须知道数值软件)——并研究其性质。

立足点:面向数学——解决数学问题面向计算机——利用计算机作为工具充分发挥计算机的功能,设计算法,解决数学问题例如:迭代法、并行算法二、问题的类型1、离散问题:例如,求解线性方程组bAx=——从离散数据:矩阵A和向量b,求解离散数据x;2、连续问题的离散化处理:例如,数值积分、数值微分、微分方程数值解;3、离散问题的连续化处理:例如,数据近似,统计分析计算;1.2数值方法的分析在本章中我们不具体讨论算法,首先讨论算法分析的基础——误差。

一般来讲,误差主要有两类、三种(对科学计算):1)公式误差——“截断误差”,数学↔计算,算法形成——主观(人为):数学问题-数值方法的转换,用离散公式近似连续的数学函数进行计算时,一般都会发生误差,通常称之为“截断误差”;——以后讨论2)舍入误差及输出入误差——计算机,算法执行——客观(机器):由于计算机的存储器、运算器的字长有限,在运算和存储中必然会发生最末若干位数字的舍入,形成舍入误差;在人机数据交换过程中,十进制数和二进制数的转换也会导致误差发生,这就是输入误差。

这两种误差主要是由于计算机的字长有限,采用浮点数系所致。

首先介绍浮点数系一、计算机上的运算——浮点运算面向计算机设计的算法,则先要讨论在计算机上数的表示。

科学记数法——浮点数:约定尾数中小数点之前的数全为零,小数点后第一个数不能为零。

目前,一般计算机都采用浮点数系,一个存储单元分成首数和尾数:首数l 尾数(位)其中首数存放数的指数(或“阶”)部分,尾数存放有效数字。

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

1.计算以下和式:0142118184858616nn S n n n n ∞=⎛⎫=--- ⎪++++⎝⎭∑,要求: (1)若保留11个有效数字,给出计算结果,并评价计算的算法;(2)若要保留30个有效数字,则又将如何进行计算。

(1)题目分析该题是对无穷级数求和,因此在使用matlab 进行累加时需要一个累加的终止条件。

这里令⎪⎭⎫ ⎝⎛+-+-+-+=681581482184161n n n n a nn ,则()()1.01616855844864816114851384128698161 681581482184161148113811282984161111<<⎪⎪⎭⎫ ⎝⎛⎪⎭⎫ ⎝⎛++++++⎪⎪⎭⎫ ⎝⎛⎪⎭⎫ ⎝⎛++++++=⎪⎭⎫⎝⎛⎪⎭⎫ ⎝⎛+-+-+-+⎪⎭⎫ ⎝⎛⎪⎭⎫ ⎝⎛+-+-+-+=+++n n n n n n n n n n n n n n n n a a n n n n n n 故近似取其误差为1+≈k a ε,并且有m-1m -11102121⨯=⨯=≈+βεk a ,(2)算法依据使用matlab 编程时用digits 函数和vpa 函数来控制位数。

(3)Matlab 运行程序%%保留11位有效数字 k1=11;s1=0;%用于存储这一步计算值 for n=0:50a=(1/16^n)*(4/(8*n+1)-2/(8*n+4)-1/(8*n+5)-1/(8*n+6)); n1=n-1;if a<=0.5*10^(1-k1) break end end;for i=0:1:n1t=(1/16^i)*(4/(8*i+1)-2/(8*i+4)-1/(8*i+5)-1/(8*i+6)); s1=s1+t; ends11=vpa(s1,k1);disp('保留11位有效数字的结果为:');disp(s11); disp('此时n 值为:');disp(n1);%%保留30位有效数字 clear all; k2=30;digits(k2+2);s2=vpa(0);%用于存储这一步计算值for n=0:50a=vpa((1/16^n)*(4/(8*n+1)-2/(8*n+4)-1/(8*n+5)-1/(8*n+6)));n2=n-1;if a<=0.5*10^(1-k2)breakendend;for i=0:1:n2t=vpa((1/16^i)*(4/(8*i+1)-2/(8*i+4)-1/(8*i+5)-1/(8*i+6)));s2=vpa(s2+t);ends30=vpa(s2,k2);disp('保留30位有效数字的结果为:');disp(s30);disp('此时n值为:');disp(n2);2.某通信公司在一次施工中,需要在水面宽度为20米的河沟底部沿直线走向铺设一条沟底光缆。

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

已探测(1)(2)估算所需光缆长度的近似值,并作出铺设河底光缆的曲线图;(2)算法选择由于多项式插值只适用于数据点较少的插值案例,此时可以避免产生较大的误差;当数据点过多时,多项式插值中的龙格现象会使误差变大。

因此当所用数据点过多时,我们采用分段插值方式,即用分段多项式代替单个多项式作插值。

分段多项式是由一些在相互连接的区间上的不同多项式连接而成的一条连续曲线,其中三次样条插值方法是一种具有较好“光滑性”的分段插值方法。

(3)matlab算法clear all;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];%对应水面宽度处的水深n=length(x);%取样点数目M=y;for k=2:3;%计算二阶差商for i=n:-1:k;M(i)=(M(i)-M(i-1))/(x(i)-x(i-k+1));endendh(1)=x(2)-x(1);for i=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)=0;u(1)=b(1); %对三对角矩阵进行LU分解y1(1)=d(1);for k=2:n;l(k)=a(k)/u(k-1);u(k)=b(k)-l(k)*c(k-1);y1(k)=d(k)-l(k)*y1(k-1);endM(n)=y1(n)/u(n); %追赶法求解样条参数M(i)for k=n-1:-1:1;M(k)=(y1(k)-c(k)*M(k+1))/u(k);endx1=1:0.1:20; %确定取值点n1=length(x1); %确定取值点个数s=zeros(1,n1);for m=1:n1; k=1;for i=2:n-1if x1(m)<=x(i); k=i-1;break; else k=i; end endh1=x(k+1)-x(k);%在各区间用三次样条插值函数计算X 点处的值 x11=x(k+1)-x1(m);x12=x1(m)-x(k);sum(m)=(M(k)*(x11^3)/6+M(k+1)*(x12^3)/6+(y(k)-(M(k)*(h1^2)/6))*x11+(y (k+1)-(M(k+1)*(h1^2)/6))*x12)/h1; endl=0; %计算所需光缆长度 for i=2:n1l=l+sqrt((x1(i)-x1(i-1))^2+(sum(i)-sum(i-1))^2); enddisp('所需光缆长度为'); disp(l); figure(1)plot(x,y,'*',x1,sum,'-') xlabel('位置'); ylabel('深度/m');title('铺设河底光缆的曲线图'); grid on;(4)结果分析铺设海底光缆的曲线图如下图:位置深度/m铺设河底光缆的曲线图使用matlab 仿真计算出所需光缆的长度为 25.4525m 。

3.假定某天的气温变化记录如下表所示,试用数据拟合的方法找出这(1) 选择算法在本题中,采用“最小二乘法”来近似这一天的气温变化规律,分别使用二次函数、三次函数、五次函数以及指数型函数来对数据点进行拟合,并计算相应的误差。

(2)算法框架a )使用多项式进行最小二乘近似时,首先生成矩阵G ,然后利用算法LSS 求解多项式的系数和误差22E 。

b )使用指数函数进行最小二乘近似时,设其指数形式为2321d x d x d ey +=,再对函数形式进行变换332211a ,a ,ln a ,ln d d d y z ====,即2321a a a x x z ++=。

然后生成矩阵G ,再利用算法LSS 求解多项式的系数和误差22E 。

(3)matlab 程序%%多项式的最小二乘近似 clear all; x=0:24;y=[15,14,14,14,14,15,16,18,20,20,23,25,28,31,34,31,29,27,25,24,22,20,18,17,16];m=length(x); %将数据点存入ms=0; %求一天的平均气温for i=1:1:24s=s+y(i);endT=s/m;disp('一天的平均气温为');disp(T);n=h+1; %h次函数的最小二乘近似,h分别取2、3、5for j=1:n; %生成矩阵Gfor i=1:25G(i,j)=x(i).^(j-1);endendfor i=1:m; %将y作为G的最后一列存放G(i,j+1)=y(i);endfor k=1:nif G(k,k)>0 %形成矩阵Q(k)sgn=1;elseif G(k,k)==0;sgn=0;else sgn=-1;enda1=-sgn*sqrt(sum(G(k:m,k).^2));w=zeros(1,n);w(k)=G(k,k)-a1;for j=k+1:mw(j)=G(j,k);endb1=a1*w(k);G(k,k)=a1; %变换Gk-1到Gkfor j=k+1:n+1t=sum(w(k:m)*G(k:m,j))/b1;for i=k:mG(i,j)=G(i,j)+t*w(i);endendenda(n)=G(n,n+1)/G(n,n); %求解方程for i=n-1:-1:1a(i)=(G(i,n+1)-sum(G(i,i+1:n).*a(i+1:n)))/G(i,i); endE=sum(G(n+1:m,n+1).^2); %计算误差t=0:0.01:24;a=fliplr(a); %将系数数组左右翻转y1=poly2sym(a); %将系数数组转化为多项式subs(y1,'x',t);y1=double(ans);figure(1)plot(x,y,'*',t,y1,'r-');xlabel('时刻');plot(x,y,'*',t,y1,'r-');xlabel('时刻');ylabel('温度');title('5次函数的最小二乘曲线');grid on;disp('误差为');disp(E);%%指数形式的最小二乘近似clear all;x=0:24;y=[15,14,14,14,14,15,16,18,20,20,23,25,28,31,34,31,29,27,25,24,22,20, 18,17,16];m=length(x);n=3;z=zeros(1,m);for i=1:mz(i)=log(y(i));endfor j=1:n; %生成矩阵Gfor i=1:m;G(i,j)=x(i).^(j-1);endendfor i=1:m; %将y作为G的最后一列存放G(i,j+1)=z(i);endfor k=1:nif G(k,k)>0; %形成矩阵Q(k)sgn=1;elseif G(k,k)==0;sgn=0;else sgn=-1;enda1=-sgn*sqrt(sum(G(k:m,k).^2));w=zeros(1,n);w(k)=G(k,k)-a1;for j=k+1:mw(j)=G(j,k);endb1=a1*w(k);G(k,k)=a1; %变换Gk-1到Gkfor j=k+1:n+1t=sum(w(k:m)*G(k:m,j))/b1;for i=k:m;G(i,j)=G(i,j)+t*w(i);endendenda(n)=G(n,n+1)/G(n,n); %解方程组for i=n-1:-1:1a(i)=(G(i,n+1)-sum(G(i,i+1:n).*a(i+1:n)))/G(i,i);endd3=a(3);d2=a(2);d1=exp(a(1));E=0;for i=1:25y1(i)=d1*exp(d2*x(i)+d3*x(i)*x(i));E=(y1(i)-y(i)).^2+E; %计算误差endt=0:0.01:24;y1=d1.*exp(d2.*t+d3.*t.*t);fprintf('指数函数拟合的系数是:d1=%f,d2=%f,d3=%f',d1,d2,d3); figure(1)plot(x,y,'*',t,y1,'r-');xlabel('时刻');ylabel('温度');title('指数函数的最小二乘曲线');grid on;fprintf('\n指数函数拟合的系数是:%f',E);(4)结果分析a)二次多项式的最小二乘近似一天的平均气温为:20.5600误差为:280.3395拟合曲线如下图所示:时刻温度2次函数的最小二乘曲线b ) 三次多项式的最小二乘近似 误差为:131.0618 近似函数曲线如下图所示:时刻温度3次函数的最小二乘曲线c )五次多项式的最小二乘近似 误差为:33.1446近似函数曲线如下图所示:0510152025时刻温度5次函数的最小二乘曲线d )指数形式的最小二乘近似指数函数拟合的系数是:d1=10.842462,d2=0.125093,d3=-0.004442 指数函数拟合的误差E 2是:215.700187 近似函数曲线如下图所示:0510152025时刻温度指数函数的最小二乘曲线从上述几种拟合可以得出,多项式的次数越高,拟合的效果越好,误差越小;指数函数的二次多项式拟合相对于同阶的多项式最小二乘近似其误差相对较小,但不如高阶多项式最小二乘近似精确。

相关文档
最新文档