数值计算方法实验报告王春生.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文档。上传文档
查看更多
数值计算方法实验报告王春生.doc

数值计算方法 实验报告 学院:计算机科学与技术学院 专业:计算机科学与技术 班级:0802班 学号:2008001424 姓名:王春生 太原理工大学学生实验报告 学院名称 计算机科学与技术学院 专业班级 计算机0802 学号 2008001424 学生姓名 王春生 实验日期 成绩 课程名称 数值计算方法 实验题目 实验一 方程求根 一、实验目的及意义: (1)了解非线性方程求根的常见方法,如二分法、牛顿法、割线法。 (2)加深对方程求根方法的认识,掌握算法。 (3)会进行误差分析,并能对不同方法进行比较。 二、实验任务: 选择上述方法中的两种方法求方程f(x)=x3+4x2-10=0在[1,2]内的一个实根,且要求满足精度|x*-xn|0.5×10-5 。 三、计算公式: (1)二分法公式 f(x)在区间[a,b]上连续,且f(a)·f(b)0,令x1=(a+b)/2,计算f(x1)。 若f(x1)=0,则x﹡=x1; 若f(a) ·f(x1)0,则记(a,b)=(a,x1); 若f(a) ·f(x1)0,则记(a,b)=(x1,b); 重复此过程,直至满足精度要求,(b-a)/2ε。 (2)牛顿法 迭代公式: 四、结构程序设计 1)二分法源代码: //二分法.cpp #include iostream #include iomanip using namespace std; double fx(double x) { return ((x*x*x)+(4*x*x)-10); } void main() { double A,B,mid,result,accuracy=0.000005; double a0=1.0,b0=2.0; coutf(x)=x3+4x2-10=0 [1,2] |x*-xn|0.5*10-5endl; cout************************************************endl; do { A=a0,B=b0; mid=(A+B)/2; if( fx(mid)==0) { result=mid; a0=A,b0=B; } else { if (fx(A)*fx(mid)0) { a0=A;b0=mid; coutA=setw(10)setprecision(10)a0 B=setw(10)setprecision(10)b0endl; } else if(fx(mid)*fx(B)0) { a0=mid;b0=B; coutA=setw(10)setprecision(10)a0 B=setw(10)setprecision(10)b0endl; } result=(a0+b0)/2; } } while((b0-a0)=accuracy); cout************************************************endl; coutthe result is X=setw(10)setprecision(10)resultendl; coutA=setw(10)setprecision(10)a0endl; coutB=setw(10)setprecision(10)b0endl; } 2)牛顿法源代码: //牛顿法.cpp //f(x)=x^3+4x^2-10=0 |x-xn|0.5*10^(-5) #include iostream #include iomanip using namespace std; double f(double x) { return (x*x*x+4*x*x-10); } double fo(double x) { return (3*x*x+8*x); } int main() { double x0=1,y; double temp,x1,xn; x1=x0; do { xn=x1-f(x1)/fo(x1); temp=x1; x1=xn; y=xn-temp; if (y0) y=(-y); coutxn=setprecision(6)xnendl; }while (y=0.000005); cout**************************************endl; coutresult is xnendl; return 0;

文档评论(0)

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

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

1亿VIP精品文档

相关文档