东南大学数值分析上机题答案-2023修改整理_第1页
东南大学数值分析上机题答案-2023修改整理_第2页
东南大学数值分析上机题答案-2023修改整理_第3页
东南大学数值分析上机题答案-2023修改整理_第4页
东南大学数值分析上机题答案-2023修改整理_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

千里之行,始于足下让知识带有温度。第第2页/共2页精品文档推荐东南大学数值分析上机题答案数值分析上机题

第一章

17.(上机题)舍入误差与有效数设∑=-=

N

jNjS2

2

11

,其精确值为)111-23(21+-NN。(1)编制按从大到小的挨次1

-1

···1-311-21222NSN+

++=,计算NS的通用程序;

(2)编制按从小到大的挨次1

21

···1)1(111

222-++--+

-=NNSN,计算N

S的通用程序;

(3)按两种挨次分离计算210S,410S,610S,并指出有效位数(编制程序时用单精度);(4)通过本上机题,你明了了什么?

解:程序:

(1)从大到小的挨次计算1

-1

···1-311-21222NSN+++=

functionsn1=fromlarge(n)%从大到小计算sn1

formatlong;sn1=single(0);form=2:1:n

sn1=sn1+1/(m^2-1);endend

(2)从小到大计算1

21

···1)1(111

2

22

-++--+-=

NNSNfunctionsn2=fromsmall(n)%从小到大计算sn2

formatlong;sn2=single(0);form=n:-1:2

sn2=sn2+1/(m^2-1);endend(3)

总的编程程序为:functionp203()

clearall

formatlong;

n=input('pleaseenteranumberasthen:')sn=1/2*(3/2-1/n-1/(n+1));%精确值为sn

fprintf('精确值为%f\n',sn);

sn1=fromlarge(n);

fprintf('从大到小计算的值为%f\n',sn1);

sn2=fromsmall(n);

fprintf('从小到大计算的值为%f\n',sn2);functionsn1=fromlarge(n)%从大到小计算sn1formatlong;

sn1=single(0);

form=2:1:n

sn1=sn1+1/(m^2-1);

end

end

functionsn2=fromsmall(n)%从小到大计算sn2formatlong;

sn2=single(0);

form=n:-1:2

sn2=sn2+1/(m^2-1);

end

end

end

运行结果:

从而可以得到

N值真值挨次值有效位数

2100.740050从大到小0.7400495

从小到大0.7400506

4100.749900从大到小0.7498523

从小到大0.7499006

6100.749999从大到小0.7498523

从小到大0.7499996

(4)感想:

通过本上机题,我明了了,从小到大计算数值的精确位数比较高而且与真值较为临近,而从大到小计算数值的精确位数比较低。机器数在举行加法运算时,用从大到小的挨次简单浮现

大数吃小数的状况,简单产生较大的误差,是由于对于相加的两个数值,计算机首先提供与大数相全都的位数,此时将小数的尾数向右移位,并举行四舍五入,之后对尾数举行依次相加。从大到小时,越往后计算,相加的数越小,从而浮现大数吃小数的状况。相比之下。从小到大计算时,每次小数与大数相加,都会增强位数,从而精确度比较高。

其次章

20.(上机题)Newton迭代法

(1)给定初值0x及容许误差ε,编制Newton法解方程)(xf=0根的通用程序。

(2)给定方程xxxf-=3/)(3

,易知其有三个根*1x=-3,*2x=0,*

3x=3。

①有Newton办法的局部收敛性可知存在δ>0,当0x∈(-δ,δ)时Newton迭代序列收敛于根*

2x,试确定尽可能大的δ;

②试取若干初始值,观看当0x∈(-∞,-1),(-1,-δ),(-δ,δ),(δ,1),(1,+∞)时Newton序列是否收敛以及收敛于哪一个根。(3)通过本上机题,你明了了什么?解:

(1)程序

先编写函数function文件:文件fx.m

%定义函数f(x)functionFx=fx(x)Fx=x^3/3-x;

文件dfx.m

%定义导函数df(x)%functionfx=dfx(x)fx=x^2-1;

接下来是详细步骤

文件newton1.m求尽可能大的delta值

%%课本56页计算最大delta值clearflag=1;k=1;x0=0;

whileflag==1

delta=k*10^-6;

x0=delta;

k=k+1;

m=0;

flag1=1;

whileflag1==1

ifabs(x1-x0)=10^-6

flag=0;

end

end

fprintf('%f\n',delta);

文件newton2.m求方程的根

%%课本56页newton法求方程的根,确定收敛于哪个根

formatlong;

ef=1e-6;

k=0;

x0=input('pleaseentertheinitialnumberasthex0:');whilek<1000

x1=x0-fx(x0)/dfx(x0);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论