计算方法与实习的实验报告.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算方法与实习的实验报告

1舍入误差与数值稳定性 1.1目的与要求 通过上机编程,复习巩固以前所学程序设计语言及上机操作指令; 通过上机计算,了解舍入误差所引起的数值不稳定性。 1.2舍入误差和数值稳定性 1.2.1概要 舍入误差在计算方法中是一个很重要的概念。在实际计算中如果选用了不同的算法,由于舍入误差的影响,将会得到截然不同的结果。因此,选取稳定的算法在实际计算中是十分重要的。 1.2.2程序和实例 对n=0,1,2,…,40计算定积分 。 算法 利用递推公式 yn=n (n=1,2,…,40) 取y0== ln6-ln50.182322。 程序如下: #includestdio.h #includemath.h void main() { double y_0=log(6.0/5.0),y_1; int n=1; printf(y[0]=%-20f,y_0); while(1) { y_1=1.0/n-5*y_0; printf(y[%d]=%-20f,n,y_1); if(n=40)break; y_0=y_1; n++; if(n%2==0)printf(\n); } } 2 方程求根 2.1实验目的 (1???通过对二分法与牛顿迭代法作编程练习与上级运算,进一步体会二分法与牛顿迭代法的不同特点; (2)编写割线迭代法的程序,求非线性迭代法的解,并与牛顿迭代法作比较。 2.2二分法 2.2.1算法 给定区间[a,b],并设f(a)与f(b)符号相反,取ε为根的容许误差,δ为|f(x)|的容许误差。 1令c=(a+b)/2; 2如果(c-a)ε或|f(x)|δ,则输出c,结束;否则执行3; 3如果f(a)f(c)0,则令a=c;否则令b=c,重复1,2,3。 2.2.2程序与实例 求方程f(x)=在1.5附近的根。 程序如下: #includestdio.h #includemath.h #define eps 5e-6 #define delta 1e-6 float Bisection(float a,float b,float(*f)(float)) { float c,fc,fa=(*f)(a),fb=(*f)(b); int n=1; printf(二分次数\t\tc\t\t f(c)\n); while(1) { if(fa*fb0){printf(不能用二分法求解);break;} c=(a+b)/2,fc=(*f)(c); printf(%d\t\t%f\t\t%f\n,n++,c,fc); if(fabs(fc)delta)break; else if(fa*fc0){b=c;fb=fc;} else{a=c;fa=fc;} if(b-aeps)break; } return c; } float f(float x) { return x*x*x+4*x*x-10; } int main() { float a=1,b=2; float x; x=Bisection(a,b,f); printf(\n方程的根为%f,x); return 0; } 3线性方程组数值解法 3.1目的与要求 (1)熟悉求解线性方程组的有关理论和方法; (2)会编制列主元消去法、LU分解法、雅克比及高斯赛德尔迭代法的程序; (3)通过实际计算,进一步了解各种方法的优缺点,选择合适的数值方法。 3.3矩阵直接三角分解法 3.3.1算法 将方程组Ax=b中的A分解为A=LU,其中L为单位下三角矩阵,U为上三角矩阵,则方程组Ax=b化为解两个方程组Ly=b,Ux=y,具体算法如下。 1.对j=1,2,3,…,n计算 对i=2,3,…,n计算 对k=2,3,…,n: a)对j=k,k+1,…,n计算 b)对i=k,k+1,…,n计算 3.y1=b1,对k=2,3,…,n计算 4., 对k=n-1,n-2,…,2,1计算 3.3.2程序和实例 求解方程组Ax=b,其中 A=,b= 程序如下: #includestdio.h void main() { float x[4]; int i; float a[4][5]={1,2,-12,8,27, 5,4,7,-2,4, -3,7,9,5,11, 6,-12,-8,3,49}; void DirectLU(float *,int,float

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档