东南大学数值分析上机题答案(22页).doc

上传人:1595****071 文档编号:35332642 上传时间:2022-08-21 格式:DOC 页数:22 大小:794.50KB
返回 下载 相关 举报
东南大学数值分析上机题答案(22页).doc_第1页
第1页 / 共22页
东南大学数值分析上机题答案(22页).doc_第2页
第2页 / 共22页
点击查看更多>>
资源描述

《东南大学数值分析上机题答案(22页).doc》由会员分享,可在线阅读,更多相关《东南大学数值分析上机题答案(22页).doc(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-数值分析上机题第一章17. (上机题)舍入误差与有效数设,其精确值为。(1) 编制按从大到小的顺序,计算的通用程序;(2) 编制按从小到大的顺序,计算的通用程序;(3) 按两种顺序分别计算,并指出有效位数(编制程序时用单精度);(4) 通过本上机题,你明白了什么?解:程序:(1)从大到小的顺序计算:function sn1=fromlarge(n) %从大到小计算sn1format long;sn1=single(0);for m=2:1:n sn1=sn1+1/(m2-1);endend(2)从小到大计算function sn2=fromsmall(n) %从小到大计算sn2format

2、long;sn2=single(0);for m=n:-1:2 sn2=sn2+1/(m2-1);endend(3)总的编程程序为:function p203()clear allformat long;n=input(please enter a number as the n:)sn=1/2*(3/2-1/n-1/(n+1);%精确值为snfprintf(精确值为%fn,sn);sn1=fromlarge(n);fprintf(从大到小计算的值为%fn,sn1);sn2=fromsmall(n);fprintf(从小到大计算的值为%fn,sn2);function sn1=fromlarg

3、e(n) %从大到小计算sn1format long;sn1=single(0);for m=2:1:n sn1=sn1+1/(m2-1);endendfunction sn2=fromsmall(n) %从小到大计算sn2format long;sn2=single(0);for m=n:-1:2 sn2=sn2+1/(m2-1);endendend运行结果:从而可以得到N值真值顺序值有效位数0.740050从大到小0.7400495从小到大0.74005060.749900从大到小0.7498523从小到大0.74990060.749999从大到小0.7498523从小到大0.749999

4、6(4)感想:通过本上机题,我明白了,从小到大计算数值的精确位数比较高而且与真值较为接近,而从大到小计算数值的精确位数比较低。机器数在进行加法运算时,用从大到小的顺序容易出现大数吃小数的情况,容易产生较大的误差,是因为对于相加的两个数值,计算机首先提供与大数相一致的位数,此时将小数的尾数向右移位,并进行四舍五入,之后对尾数进行依次相加。从大到小时,越往后计算,相加的数越小,从而出现大数吃小数的情况。相比之下。从小到大计算时,每次小数与大数相加,都会增加位数,从而精确度比较高。第二章20. (上机题)Newton迭代法(1) 给定初值及容许误差,编制Newton法解方程=0根的通用程序。(2)

5、给定方程,易知其有三个根=-,=0,=。有Newton方法的局部收敛性可知存在0,当(-,)时Newton迭代序列收敛于根,试确定尽可能大的;试取若干初始值,观察当(-,-1),(-1,-),(-,),(,1),(1,+)时Newton序列是否收敛以及收敛于哪一个根。(3) 通过本上机题,你明白了什么?解:(1)程序先编写函数function文件:文件fx.m%定义函数f(x)function Fx=fx(x)Fx=x3/3-x;文件dfx.m%定义导函数df(x)%function fx=dfx(x)fx=x2-1;接下来是具体步骤文件newton1.m求尽可能大的delta值%课本56页计

6、算最大delta值clearflag=1;k=1;x0=0;while flag=1 delta=k*10-6; x0=delta; k=k+1; m=0; flag1=1; while flag1=1&m=103 x1=x0-fx(x0)/dfx(x0); if abs(x1-x0)=10-6 flag=0; end endfprintf(%fn,delta);文件newton2.m求方程的根%课本56页newton法求方程的根,确定收敛于哪个根format long;ef=1e-6;k=0;x0=input(please enter the initial number as the x0

7、:);while k1000 x1=x0-fx(x0)/dfx(x0); if abs(x1-x0)k A(p,k,:)=A(k,p,:); b(p,k,:)=b(k,p,:); end m=A(k+1:n,k)/A(k,k); A(k+1:n,k+1:n)=A(k+1:n,k+1:n)-m*A(k,k+1:n); b(k+1:n)=b(k+1:n)-m*b(k); A(k+1:n,k)=zeros(n-k,1);endx=zeros(n,1);x(n)=b(n)/A(n,n);for i=n-1:-1:1 m=0; for k=i+1:1:n m=m+A(i,k)*x(k); end x(i

8、)=(b(i)-m)/A(i,i);endend下面是主程序的m文件%课本127页用列主元gauss消去法求解方程clear R=31 -13 0 0 0 -10 0 0 0;-13 35 -9 0 -11 0 0 0 0 ;0 -9 31 -10 0 0 0 0 0 ; 0 0 -10 79 -30 0 0 0 -9;0 0 0 -30 57 -7 0 -5 0;0 0 0 0 -7 47 -30 0 0 ; 0 0 0 0 0 -30 41 0 0 ; 0 0 0 0 -5 0 0 27 -2 ; 0 0 0 -9 0 0 0 -2 29;V=-15;27;-23;0;-20;12;-7;

9、7;10;I=gauss1(R,V);I(2) 运行结果(3) 感想:本次上机重点学习了列主元GUASS消去法的应用。列主元GUASS消去法在进行第K步消元前,先选出位于第K列中位于对角线及其以下元素绝对值中的最大者,然后将他们互相交换,在进行接下来的一般消元过程。较少了误差,而且一般保证舍入误差不增加,基本上是稳定的。通过上机程序设计,加深了对该方法的了解,对于矩阵、编程的了解也更深入。第四章37.三次样条插值函数(1)编制求第一型3次样条插值函数的通用程序(2)已知汽车门曲线型值点的数据如下i0123456789100123456789102.513.304.044.705.225.545

10、.785.405.575.705.80端点条件为=0.8,=0.2,用所编程序求出门的三次样条差值函数S(x),打印出S(i+0.5),i=1,2,9。(1) 程序(n是x的总个数)%样条插值函数clear clc%输入相关参数xi,yin=input(enter the n:);%输入X的总个数xn=zeros(1,n);yn=zeros(1,n);xn(1,:)=input(enter the x:);yn(1,:)=input(enter the y:);%求h,mu,lambda,d值d=zeros(n,1);h=zeros(1,n-1);mu=zeros(1,n-2);%lambda

11、=zeros(1,n-2);f1=zeros(1,n-1);%一阶导数f2=zeros(1,n-2);%二阶导数dy0=input(enter the value of dy0:);dyn=input(enter the value of dyn:);for i=1:n-1 h(i)=xn(i+1)-xn(i); f1(i)=(yn(i+1)-yn(i)/h(i);endfor i=1:n-2 mu(i)=h(i)/(h(i)+h(i+1); lambda(i)=1-mu(i);endd(1)=6*(f1(1)-dy0)/h(1);d(n)=6*(dyn-f1(n-1)/h(n-1);for

12、i=2:n-1 f2(i)=(f1(i)-f1(i-1)/(xn(i+1)-xn(i-1); d(i)=6*f2(i);endA=zeros(n);A(1,2)=1;A(n,n-1)=1;for i=1:n A(i,i)=2;endfor i=2;n-1 A(i,i-1)=mu(i-1); A(i,i+1)=lambda(i-1);endM=Ad;%回代求插值函数syms x;disp(sn(x)=)%sn(i)的表达式sn(i)仅是关于x的函数值for i=1:n-1 sn(i)=collect(yn(i)+(f1(i)-(M(i)/3+M(i+1)/6)*h(i)*(x-xn(i)+M(i

13、)/2*(x-xn(i)2+(M(i+1)-M(i)/(6*h(i)*(x-xn(i)3); sn(i)=vpa(sn(i),4); fprintf(sn(%d)=%s ,%dxn%dn,i,char(sn(i),xn(i),xn(i+1);enddisp(s(i+0.5);%计算在i+0.5处的插值disp( i x(i+0.5) s(i+0.5)for i=1:n-1 t=xn(i)+0.5; s(i)=yn(i)+(f1(i)-(M(i)/3+M(i+1)/6)*h(i)*(t-xn(i)+M(i)/2*(t-xn(i)2+(M(i+1)-M(i)/(6*h(i)*(t-xn(i)3;

14、fprintf( %d %.4f %.4fn,i,xn(i)+0.5,s(i);end程序截图(2)运行结果(3)感想:三次样条插值是在每个小区间上分别建立样条函数,加上插值条件和连接条件,在整个区间上成立插值函数,大大提高了插值函数的精度。由于尽在节点处,函数值相等,故在别的数值处,存在误差。通过上机编程,加深了对于三次样条插值函数的了解,同时也了解了其他多项式插值与函数最佳逼近,更对以后的学习、工作有帮助。第六章23.常微分方程初值问题数值解(1)编制RK4方法的通用程序(2)编制AB4方法的通用程序(由RK4提供初值)(3)编制AB4-RK4预测校正方法通用程序(由RK4提供初值)(4)

15、编制带改进的AB4-RK4预测校正方法通用程序(由RK4提供初值)(5)对于初值问题=-(0x1.5)y(0)=3取步长h=0.1,应用(1)(4)的四种方法进行计算,并将结果和精确解y(x)=3/(1+x)作比较(5) 通过本上机题,你得到哪些结论解:(1)程序RK4方法的通用程序AB4方法的通用程序AB4- AM4预测校正方法的通用程序带改进的AB4-AM4预测校正方法的通用程序(2)结果比较(3)感想:由图表可见RK4的代数精度最高,改进AB4-AM4的精度其次,AB4的精度最差。通过自行设计RK4、AB4、AB4-AM4预测校正方法和带改进的AB4-AM4预测校正方法的通用程序,加深了对常微分方程数值解法的了解,将各种方法运用到具体解方程中。-第 22 页-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 单元课程

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁