浙江大学计算方法大作业第八题

合集下载

计算方法课后习题答案

计算方法课后习题答案

计算方法课后习题答案计算方法课后习题答案计算方法是一门重要的学科,它为我们提供了解决数学问题的方法和工具。

在学习这门课程时,我们经常会遇到一些习题,这些习题旨在帮助我们巩固所学的知识并提高我们的计算能力。

然而,习题的解答并非总是容易的,有时候我们可能会遇到困难。

因此,我将在本文中为大家提供一些计算方法课后习题的答案,希望能够帮助大家更好地理解和掌握这门学科。

1. 线性方程组的解法线性方程组是计算方法中的一个重要概念。

解决线性方程组的方法有很多种,其中最常用的方法是高斯消元法。

这种方法通过行变换将线性方程组转化为简化的行阶梯形矩阵,从而求得方程组的解。

下面是一个例子:2x + 3y = 84x - 5y = -7通过高斯消元法,我们可以得到方程组的解为x = 1,y = 2。

2. 数值积分的计算数值积分是计算方法中的另一个重要概念。

它可以用来计算曲线下的面积或者求解定积分。

常用的数值积分方法有梯形法则、辛普森法则等。

下面是一个例子:计算定积分∫[0, 1] (x^2 + 2x)dx。

通过梯形法则,我们可以得到定积分的近似值为1.5。

3. 插值和拟合插值和拟合是计算方法中的重要概念,它们可以用来估计未知数据点的值。

插值是通过已知数据点之间的连线或曲线来估计未知点的值,而拟合是通过已知数据点的函数来估计未知点的值。

下面是一个例子:已知数据点 (1, 3), (2, 5), (3, 8),通过插值和拟合方法来估计点 (4, ?) 的值。

通过线性插值,我们可以得到点 (4, 11) 的值。

通过多项式拟合,我们可以得到点 (4, 10.5) 的值。

4. 数值微分的计算数值微分是计算方法中的另一个重要概念,它可以用来估计函数在某一点的导数值。

常用的数值微分方法有前向差分法、后向差分法和中心差分法。

下面是一个例子:计算函数 f(x) = x^2 在点 x = 2 处的导数值。

通过中心差分法,我们可以得到导数的近似值为 4。

大学计算机基础(浙江大学)题库

大学计算机基础(浙江大学)题库

浙江大学大学计算机基础题库测试试卷:计科教材练习【01】--------------------------------------------------------------------------------一、判断题,共10题, 总分:10分。

请直接点击选择True or False.1.计算机文化是指能够理解计算机是什么以及它是如何作为资源被使用的。

( T ) True False2.计算思维的本质是对求解问题的抽象和实现问题处理的自动化。

如果说,数学思维是“抽象和关系”,那么计算思维则是“状态和过程”。

( T ) True False3.我们可以定义计算机系统是指计算机的所有资源。

它包括了计算机硬件和软件。

( T ) True False4.计算机系统结构是研究计算机的硬件互联使得计算机更有效、更高速和更可靠。

( T ) True False5.应用软件是管理计算机所需要的那些软件。

( F ) True False6.程序设计主要有面向文本设计技术和面向对象设计技术。

( F ) True False7.程序是算法的具体实现。

( T ) True False8.计算机被加电后进入工作状态,就开始执行程序,直到关机为止。

( T ) True False9.因特网的开放结构,主要表现在进入网络的机器,属于企业、机构、政府甚至个人的,它们之间的关系是平等地位,没有权限的定义。

( T ) True False10.因特网是一个庞大的计算机互联形成的网络,构建因特网的主要目的是实现各种通信。

( F ) True False--------------------------------------------------------------------------------二、单选题,共11题, 总分:11分。

请四个中选择一个是正确的答案。

1.半导体技术是按一个较高的指数规律发展的。

根据摩尔定律,当价格不变时,集成电路上可容纳的晶体管数目,约每隔( D )个月便会增加一倍,性能也将提升一倍。

计算方法大作业(第二次)

计算方法大作业(第二次)

计算方法大作业(第二次)数值计算第二次大作业1.给定插值条件如下:i01234567xi8.1258.49.09.4859.69.95910.16610.2yi0.07740.0990.2800.600.7081.2001 .8002.177作三次样条函数插值,挑第一类边界条件y0’=0.01087y7’=100根据题目要求,首先要构造三次样条函数,三次样条函数的构造过程如下:建有x0<x1<…<xn共n个插值节点,任一取值一组常数y0,y1,…,yn,建议结构一个插值三次样条函数s(x),使如下插值条件以求满足用户:s(xi)?yi,i=0,1,…,n经过插值点的三次样条函数就是一组三次多项式,即为存有:23?s1(x)?a1?b1(x?x1)?c1(x?x1)?d1(x?x1),x?[x1,x2],?23s2(x)?a2?b2(x?x2)?c2(x?x2) d2(xx2),x[x2,x3],s(x)ab(xx)c(xx)2d(xx)3,x[x,x]n1n1n1n1n1n 1n1n1nn1由节点处的连续性可知:si(xi)?yi,si(xi?1)?yi?1,i?1,2,?n?1.ai?yi,i?1,2,?n?1,??23y2?y1?b1(x2?x1)?c1(x2?x1)?d1(x2?x1)y?y?b(x?x)?c(x?x) 2?d(x?x)3n?1n?1nn?1n?1nn?1n?1nn?1?n由节点处的一阶与二阶光滑性可知:si?1(xi)?si(xi),si?1(xi)?si(xi),i?1,2,?,n''''''又设cn?sn?1(xn)/2,记?i?xi?1?xi,?i?yi?1?yi,i?1,2,?,n?1,则di?ci?1?ci3?i,i?1,2,?,n?1。

再根据边界条件,从而可以相继求出bi,ci''用matlab编程,编写三次样条函数(见附录),对第一题求解:>>formatshortg;>>x1=[8.125,8.4,9.0,9.485,9.6,9.959,10.166,10.2]';>>y1=[0.0774,0.099,0.280,0.60,0.708,1.200,1.800,2.177]';>>u1=0.01087;un=10 0;>>xx1=[x1(1):0.001:x1(end)]';>>[yy1b1c1d1]=spline3(x1,y1,xx1,1,u1,un);>>fprintf('\\t\\tb1\\t\\tc1\\t\\td1\\n');b1c1d1>>disp([b1c1(1:end-1,1)d1]);0.010870.144890.3680.174050.4485-0.3930.2878-0.258912.11531.52942.8188-69.141-0.56548-21.03573.61412.79458.247-512.32-28.949-259.942279>>plot(x1,y1,'bo',xx1,yy1,'r-');>>gridon画出插值曲线的图像。

2020吉大网络教育(直属)计算方法大作业解答

2020吉大网络教育(直属)计算方法大作业解答

2020吉大网络教育(直属)计算方法大作业解答
计算题
1. 证明下列差分格式是二阶的
是二阶方法,并求出误差首项。

2. 用梯形方法解初值问题证明其近似解为
证明当时,其原初值问题的准确解3. 方程将其改写为
4. 用尤拉法解初值问题取步长计算。

5. 给定常微分初值问题试构造求解常微分初值问题的梯形差分格式。

6. 试证明显格式是一阶方法。

7. 方程将其改写为
8. 证明对于任意的参数,下列龙格—库塔公式是二阶的:
9. 利用改进的方法求解初值问题(取)
10. 就初值问题导出改进尤拉方法的近似解的表达式,并与准确解相比较。

答案完整解答部分:
计算题
1. 答:
2. 答:
3. 答:
4. 答:
5. 答:
6. 答:
7. 答:
8. 答:
9. 答:
10. 答:。

计算方法大作业

计算方法大作业

计算方法大作业学院:电子工程姓名:班级:学号:大作业选题:分析方程求根问题中牛顿法的性能,包括收敛性等,并用该方法求解一个问题,给出过程和结果。

一、牛顿迭代法介绍:用迭代法求方程0)(=x f 的根时,首先要构造一个迭代函数,迭代函数构造的好坏,不仅影响收敛速度,而且有可能使迭代序列发散,构造迭代函数的一条重要途径,是用近似方程代替原方程去求根,因此如果能将非线性方程0)(=x f 用线性方程来近似代替,那么求近似根问题就容易得到解决,而且十分方便。

牛顿法就是把非线性方程线性化的一种方法。

二、牛顿迭代法原理设已知方程0)(=x f 的近似根0x ,则在0x 附近)(x f 可用一阶泰勒多项式))((')()(000x x x f x f x p -+=近似代替.因此, 方程0)(=x f 可近似地表示为0)(=x p .用1x 表示0)(=x p 的根,它与0)(=x f 的根差异不大.设0)('0≠x f ,由于1x 满足,0))((')(0100=-+x x x f x f 解得)(')(0001x f x f x x -= 重复这一过程,得到迭代公式)(')(1n n n n x f x f x x -=+ 这就是著名的牛顿迭代公式,它相应的不动点方程为)(')()(x f x f x x g -=.用牛顿迭代公式求方程根的方法称为牛顿迭代法,简称牛顿法。

三、牛顿迭代法的几何解析在0x 处作曲线的切线,切线方程为))((')(000x x x f x f y -+=。

令0=y ,可得切线与x 轴的交点坐标)(')(0001x f x f x x -=,这就是牛顿法的迭代公式。

因此,牛顿法又称“切线法”,其几何意义即为0x 点处的切线方程。

四、牛顿迭代法的收敛性 计算可得2)]('[)(")()('x f x f x f x g -=,设*x 是0)(=x f 的单根,有0)(',0)(**≠=x f x f ,则0)]('[)(")()('2****=-=x f x f x f x g , 故在*x 附近,有1)('<x g .根据不动点原理知牛顿迭代法对单根收敛.同理可知当*x 是0)(=x f 的重根时也收敛,则可分析出牛顿法不论对单根还是重根均是局部收敛的,只要初值足够靠近*x ,牛顿迭代序列均收敛于*x 。

计算方法的课后答案

计算方法的课后答案

《计算方法》习题答案第一章 数值计算中的误差1.什么是计算方法?(狭义解释)答:计算方法就是将所求的的数学问题简化为一系列的算术运算和逻辑运算,以便在计算机上编程上机,求出问题的数值解,并对算法的收敛性、稳定性和误差进行分析、计算。

2.一个实际问题利用计算机解决所采取的五个步骤是什么?答:一个实际问题当利用计算机来解决时,应采取以下五个步骤: 实际问题→建立数学模型→构造数值算法→编程上机→获得近似结果 4.利用秦九韶算法计算多项式4)(53-+-=x x x x P 在3-=x 处的值,并编程获得解。

解:400)(2345-+⋅+-⋅+=x x x x x x P ,从而所以,多项式4)(53-+-=x x x x P 在3-=x 处的值223)3(-=-P 。

5.叙述误差的种类及来源。

答:误差的种类及来源有如下四个方面:(1)模型误差:数学模型是对实际问题进行抽象,忽略一些次要因素简化得到的,它是原始问题的近似,即使数学模型能求出准确解,也与实际问题的真解不同,我们把数学模型与实际问题之间存在的误差称为模型误差。

(2)观测误差:在建模和具体运算过程中所用的一些原始数据往往都是通过观测、实验得来的,由于仪器的精密性,实验手段的局限性,周围环境的变化以及人们的工作态度和能力等因素,而使数据必然带有误差,这种误差称为观测误差。

(3)截断误差:理论上的精确值往往要求用无限次的运算才能得到,而实际运算时只能用有限次运算的结果来近似,这样引起的误差称为截断误差(或方法误差)。

(4)舍入误差:在数值计算过程中还会用到一些无穷小数,而计算机受机器字长的限制,它所能表示的数据只能是一定的有限数位,需要把数据按四舍五入成一定位数的近似的有理数来代替。

这样引起的误差称为舍入误差。

6.掌握绝对误差(限)和相对误差(限)的定义公式。

答:设*x 是某个量的精确值,x 是其近似值,则称差x x e -=*为近似值x 的绝对误差(简称误差)。

浙大计算方法上机报告.

浙大计算方法上机报告.

学号:3100300038 姓名: 专业:作业1:用列主元高斯消去法和列主元三角分解法解P227页第3题1. 列主元高斯消去法目的:用高斯消去法解Ax=b 时,其中设A 为非奇异矩阵,可能出现a kk =0 情况,这时必须进行带行交换的高斯消去法。

但在实际计算中即使0)( k kk a 但其绝对值很小时,用)(k kk a 作除数,会导致中间结果矩阵A(k)元素数量级严重增长和舍入误差的扩散,使得最后的计算结果不可靠。

列主元高斯消去法可以难过一般高斯法的这些缺点。

一、列主元高斯消去法解方程的Matlab 程序如下:function a=columneli(a) %对矩阵a 进行列主元消去 [m n]=size(a); %求取a 的行数m 和列数n for i=1:m-1[maxEle,pos]=max(abs(a(i:end,i)));maxRow=pos+i-1; %在每次变换前寻找绝对值最大主所在列maxRow if a(maxRow,i)==0disp('矩阵为奇异矩阵')return %对于非奇异矩阵,在程序中给予提示,结束程序 end if(maxRow~=i)temp=a(maxRow,:);a(maxRow,:)=a(i,:);a(i,:)=temp;end %与列主元绝对值最大的行进行行交换 for j=i+1:ma(j,i)=a(j,i)/a(i,i); %求取第j 列主元 for k=i+1:na(j,k)=a(j,k)-a(j,i)*a(i,k); %对第j 列主元进行行变换 end end endfunction x=elisolve(a) %利用列主元消去的结果求方程的解,a 为方程组的增广矩阵 a=columneli(a); [m,n]=size(a);x=zeros(m,1); for i=m:-1:1x(i)=(a(i,n)-a(i,i:m)*x(i:m))/a(i,i); end二、列主元高斯消去法解P227页第3题:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-321321212111430x x x 答案:x=[7/6 -1/3 1/2]T三、程序流程图如下:条件图框里面没有条件式,因为i 是从m 到1,所以i=1后运行下面的命令,直接输出结果。

计算方法智慧树知到答案章节测试2023年浙江大学

计算方法智慧树知到答案章节测试2023年浙江大学

绪论单元测试1.工科人认知世界的时候,需要认可误差的存在。

A:对B:错答案:A2.不需要掌握很多很好的计算方法,单单凭借计算机强大的能力就可以解决大部分实际问题。

A:错B:对答案:A3.计算方法是一门理论数学课,可以获得寻求数学问题的精确解析解的知识A:错B:对答案:A4.解决某些实际问题时,选择不合适的计算方法有可能无法得到满意的结果。

A:对B:错答案:A5.求解高阶线性方程组(比如,大于150阶),用克莱姆法则来直接求解也是可以接受的。

A:对B:错答案:B第一章测试1.计算机进行乘除运算时按照先舍入后运算的原则。

()A:错B:对答案:A2.相对误差是个无名数,没有量纲。

()A:错B:对答案:B3.两近似值之商的相对误差等于被除数的相对误差与除数的相对误差之差。

()A:错B:对答案:B4.用 1+x近似表示所产生的误差是( )A:模型误差B:截断误差C:舍入误差D:观测误差答案:B5.设某数x,那么x的有四位有效数字且绝对误差限是的近似值是()A:0.006930B:0.6930C:0.06930D:0.693答案:B第二章测试1.若f(a)f(b)<0 ,则f(x)在(a,b)内一定有根。

()A:对B:错答案:B2.如果迭代格式在根的附近导数值的模大于1,则迭代发散。

()A:对B:错答案:A3.若x*是f(x)=0的重根,则牛顿不收敛。

()A:对B:错答案:B4.非线性方程的求根方法中,正割法收敛速度比Newton迭代法快。

()A:对B:错答案:B5.用牛顿迭代法求方程f(x)=在附近的根,第一次迭代值()A:3B:2C:0D:1答案:B6.用简单迭代法求方程f(x)=0的实根,把方程f(x)=0表示成x=g(x),则f(x)=0的根是()A:y=x与x轴交点的横坐标B:y=g(x)与x轴交点的横坐标C:y=x与y=g(x)的交点D:y=x与y=g(x)交点的横坐标答案:D7.以下对非线性方程的求根方法中哪些是线性收敛的?()A:不动点迭代法B:二分法C:牛顿迭代法在重根的情况下D:牛顿迭代法在单根的情况下答案:AC第三章测试1.上面式子,用高斯消去法计算,解为()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目:从函数表
x f(x) 0.0 0.39894 0.1 0.39695 0.195 0.39142 0.3 0.38138 0.401 0.36812 0.5 0.35206
出发,用下列方法计算 f(0.15),f(0.31),及 f(0.47)的近似值: (1)分段线性插值; (2)分段二次插值; (3)全区间上拉格朗日插值
结果分析:很漂亮的结果,本题基本上完全套书里面的公式,只有第二小问稍麻烦点。
结果很精确,并且可以很明显的看到,三个结果越来越精确。
源程序:
(1) #include<stdio.h> int main(void) { printf("输入表格:\n"); double a[2][6]; int i,j,b; double y,x,x1,x0,y0,y1; for(i=0;i<2;i++) for(j=0;j<6;j++) scanf("%lf",&a[i][j]); for(b=1;b<=3;b++) { printf("x=") ; scanf("%lf",&x); for(j=1;j<6;j++) { if(x<a[0][j])break; } x0=a[0][j-1]; x1=a[0][j]; y0=a[1][j-1]; y1=a[1][j]; y=y0+(y1-y0)*(x-x0)/(x1-x0); printf("f(%.2f)=%.5f\n",x,y); } return 0; } (2) #include<stdio.h> int main(void) { printf("表格就不用输入了,已经初始化了(嘿嘿! )直接输入 x 就好了\n"); double a[2][6]={{0.0,0.1,0.195,0.3,0.401,0.5}, {0.39894,0.39695,0.39142,0.38138,0.36812,0.35206}}; int i,j,b,n; double y,x,x0,x1,x2,y1,y2,y0,o,p,q; for(b=1;b<=3;b++) { printf("x=") ; scanf("%lf",&x);
k 0 n
( x x 0 ) * ... * ( x x k 1 )( x x k 1 ) * ... * ( x x n ) ( x k x 0 ) * ... * ( x k x k 1 )( x k x k 1 ) * ... * ( x k x n )
} (3) #include<stdio.h> int main(void) { printf("表格就不用输入了,已经初始化了(嘿嘿! )直接输入 x 就好了\n"); double a[2][6]={{0.0,0.1,0.195,0.3,0.401,0.5}, {0.39894,0.39695,0.39142,0.38138,0.36812,0.35206}}; int i,j,k; double y,x,o,p,q,b,c; for(b=1;b<=3;b++) { printf("x=") ; y=0; scanf("%lf",&x); for(k=0;k<6;k++) { c=1; b=a[1][k]; for(i=0;i<6;i++) { if(i!=k) { c=c*(a[0][k]-a[0][i]) ; b=b*(x-a[0][i]); continue; } } y=y+b/c; } printf("f(%.2f)=%.5f\n",x,y); } }
思路步Байду номын сангаас:
(1)利用公式 l ( x)
y0
( y1 y0 )( x x0 ) 就可以求得结果 ( x1 x0 )
(2)利用公式 l ( x)
y0
( x x0 )( x x2 ) ( x x0 )( x x1 ) ( x x1 )( x x2 ) y1 y2 ( x0 x1 )( x0 x2 ) ( x1 x0 )( x1 x2 ) ( x2 x0 )( x2 x1 )
最开始一个三个输入的循环,然后是加法公式的六个循环,除法式子上下都要用到循环, 每 个里面要判断 x 取的值不能取到 k,这里需要一个判断。很简单。
计算结果:
(输入省略) (1)f(0.15)=0.39404 f(0.31)=0.38007 f(0.47)=0.35693 (2)表格就不用输入了,已经初始化了(嘿嘿! ) f(0.15)=0.39446 f(0.31)=0.38022 f(0.47)=0.35725 (3)表格就不用输入了,已经初始化了(嘿嘿! ) f(0.15)=0.39447 f(0.31)=0.38022 f(0.47)=0.35722
for(j=1;j<6;j++) { if(x<a[0][j])break; } if((j!=1)&&(j!=5)) { if((a[0][j]-x)>(x-a[0][j-1])) { x0=a[0][j-2]; x1=a[0][j-1]; x2=a[0][j]; n=j-2; }else{ x0=a[0][j-1]; x1=a[0][j]; x2=a[0][j+1]; n=j-1; } }else{ if(j==1) { x0=a[0][0]; x1=a[0][1]; x2=a[0][2]; n=0; }else{ x0=a[0][3]; x1=a[0][4]; x2=a[0][5]; n=3; } } y0=a[1][n]; y1=a[1][n+1]; y2=a[1][n+2]; o=(x0-x1)*(x0-x2); p=(x1-x0)*(x1-x2); q=(x2-x0)*(x2-x1); y0=y0*(x-x1)*(x-x2)/o; y1=y1*(x-x0)*(x-x2)/p; y2=y2*(x-x0)*(x-x1)/q; y=y0+y1+y2; printf("f(%.2f)=%.5f\n",x,y); }
中间有一点麻烦的可能就是要分几种情况,因为如果 x 在最左端或最右端的区间,都很肯 x0,x1,x2。如果 x 在其他,x< xh 要判断 x xh 2 与 xh 1 x 哪个更大,也就是判断 x 离哪一 边更近,然后就去那边的三个点,然后套公式。 (3)利用公式 l n ( x ) y k
相关文档
最新文档