网站大量收购闲置独家精品文档,联系QQ:2885784924

东南大学数值分析上机作业..doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
东南大学数值分析上机作业.

数值分析 上机报告 院系: 学号: 姓名: 作业1、舍入误差与有效数 1 1、函数文件cxdd.m 1 2、函数文件cddx.m 1 3、两种方法有效位数对比 1 4、心得 2 作业2、Newton迭代法 2 1、通用程序函数文件 2 2、局部收敛性 3 (1)最大δ值文件 3 (2)验证局部收敛性 4 3、心得 5 作业3、列主元素Gauss消去法 6 1、列主元Gauss消去法的通用程序 6 2、解题中线性方程组 7 3、心得 8 作业4、三次样条插值函数 8 1、第一型三次样条插值函数通用程序: 8 2、数据输入及计算结果 10 作业1、舍入误差与有效数 设,其精确值为. 编制按从小到大的顺序,计算的通用程序; 编制按从大到小的顺序,计算的通用程序; 按两种顺序分别计算,并指出有效位数; 通过本上机你明白了什么? 程序: 1、函数文件cxdd.m function S=cxdd(N) i=2.0; while(i=N) S=S+1.0/(i*i-1); i=i+1; end script运行结果(省略): S=cxdd(80) S= 0.737577 2、函数文件cddx.m function S=cddx (N) S=0; for i=N:-1:2 S=S+1/(i*i-1); end script运行结果(省略): S=cddx(80) S= 0.737577 3、两种方法有效位数对比 精确值函数: function S=jqz(N) S=0.5*(1.5-1.0/N-1.0/(N+1)); script运行结果(省略) S精确值 从小到大 从大到小 值 有效位数 值 有效位数 100 0.740050 0.740050 6 0.740049 6 10000 0.749900 0.749900 4 0.749852 4 1000000 0.749999 0.749999 6 0.749852 3 4、心得 看出按不同的顺序计算的结果是不相同的,按从小到大的顺序计算的值与精确值吻合,而按从大到小的顺序计算的值与精确值有较大的误差。计算机在进行数值计算时会出现“大数吃小数”的现象,导致计算结果的精度有所降低。 作业2、ewton迭代法 给定初值x0及容许误差ε,编制Newton解方程f(x)=0根的通用程序。 给定方程f(x)=x3/3-x=0,易知其有三个根x1※=,x2※=0,x3※=。 ①由Newton方法的局部收敛性可知存在>0,当x0∈(,),Newton迭代序列收敛于根x2※ ,试确定尽可能大的; ②试取若干个初始值,观察当x0∈(-∞,-1),(-1,),(,),(,1),(1,+∞)时,Newton序列是否收敛以及收敛于哪一个根。 通过本上机题,你明白了什么? 函数文件function f=fun(x) f=x^3/3-x; end 定义f(x)导函数 function f=dfun(x) f=x*x-1; end 定义求近似解函数 function [f,n]=newton(x0,ep) flag=1; n=0; while(flag==1) x1=x0-fun(x0)/dfun(x0); n=n+1; if(abs(x1-x0)=ep||n100000) flag=0; end x0=x1; end f=x1; end script运行结果 clear;? x0=input(请输入初始值x0:);? ep=input(请输入容许误差:);? [f,n]=newton(x0,ep); fprintf(方程的一个近似解为:%f\n,x1);? 2、局部收敛性 (1)最大δ值文件 flag=1; k=1; x0=0; while flag==1 sigma=k*10^-6; x0=sigma; k=k+1; m=0; flag1=1; while flag1==1 m=10^3 x1=x0-fun(x0)/dfun(x0); if abs(x1-x0)10^-6 flag1=0; end m=m+1; x0=x1; end if (flag1==1||abs(x0)=10^-6) flag=0; end end fprintf(最大值为: %f\n,sigma); 运行结果为: 0.774597 即得最大的δ为0.774597,Newton迭代

文档评论(0)

shenlan118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档