数值计算方法实验程序0jsp.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文档。上传文档
查看更多
数值计算方法实验程序0jsp

第一部分 C语言程序部分 一、误差与数值稳定性 例1数值方法计算积分收敛和发散实例 法1In=1-nIn-1 #includestdio.h #includemath.h main() {int n,j; float i; i=1-exp(-1); printf(%2d %-20.8f,0,i); for(j=1;j=20;j++) {i=1-j*i; printf(%2d %-20.8f,j,i); if((j+1)%3==0) printf(\n); } printf(\n); 法2 #includestdio.h #includemath.h #define N 20 main() {int j; float I; I=0;printf(%2d %-20.8f,20,I); for(j=19;j=1;j--) {I=1.0/j*(1-I); printf(%2d %-20.8f,j,I); if(j%3==0) printf(\n); } printf(\n); } 二、大数吞掉小数的例子 #includeconio.h main() { double x=7e+33,y=0.001; clrscr(); printf(1===%d\n,xx+y); printf(2===%d\n,x==x+y); } 三、二分法 例用二分法求方程的非零实根的近似值,使误差不超过10-2 #includestdio.h #includemath.h #includeconio.h #define EPS 1e-2 #define DELTA 1e-6 float Bisection(float,float,float(*f)(float)); float f(float); main() {float a=1.5,b=2; float x; clrscr(); x=Bisection(a,b,f); printf(\nThe root of the equation is%f,x); getch(); } float Bisection(float a,float b,float(*f)(float)) {float c,fc,fa=f(a),fb=f(b); int n=1; printf(total bisection c\t\t f(c)\n); printf(n a b c fa fb fc\n); while(1) {if (fa*fb0) exit(); c=(a+b)/2,fc=f(c); if(fabs(fc)DELTA) break; else if(fa*fc0){b=c;fb=fc;} else {a=c;fa=fc;} if ((b-a)EPS) break; printf(%2d%10f%10f%10f%10f%10f%10f\n,n++,a,b,c,fa,fb,fc); } return c; } float f(float x) {return sin(x)-pow(x,2)/4; } 四、迭代法 1.简单迭代法 例:用迭代法求方程f(x)=x3-x-1=0的根,迭代公式为 #includeconio.h #include math.h float diedai(float); main() { int i; float x0,x1,e; scanf(%f %f,e,x0); clrscr(); for (i=1;;i++) { x1=diedai(x0); if(fabs(x1-x0)=e) break; {x0=x1; printf(x[%d]=%f\n,i,x1); } } printf(this equations root is %lf\n ,x1); } float diedai(float x) {float z,y,v; y=x+1.0; v=1/3.0; z=pow(y,v); return(z); } 2.牛顿迭代法 例:用牛顿迭代法求方程x-cosx=0的实根,要求准确到|xk+1-xk|10-5 #includemath.h #includeconio.h #includestdio.h #define N 100 #define EPS 1e-6 #define ETA 1e-8 main() {float f(floa

文档评论(0)

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

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

1亿VIP精品文档

相关文档