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

太原理工大学计算机数值方法实验报告.doc

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

本科实验报告 课程名称: 计算机数值方法 实验地点: 专业班级: 学号: 学生姓名: 指导教师: 成 绩: 年 月 日 太原理工大学学生实验报告 学院名称 计算机科学与技术学院 专业班级 学号 学生姓名 实验日期 成绩 课程名称 计算机数值方法 实验题目 实验一 方程求根 实验目的和要求: (1)实验目的: 熟悉使用二分法、迭代法、牛顿法、割线法等方法对给定的方程进行根的求解。求方程:f(x)=x*x*x+4*x*x-10=0在[1,2]内的一个实根,且要求满足精度|x*-xn|0.001 (2)实验要求: 1.应用C,C++或JAVA编出通用程序,源程序要有详细的注释和说明; 2.比较计算结果,对不同方法进行比较分析; 3.实验完成,提交实验结果并写出报告,分析计算结果是否符合问题的要求,找出计算成功的原因或计算失败的教训。 实验内容和原理: (1) 增值寻根法:基本思想为:从初始值x0开始,按规定的一个初始步长h来增值。令x(n+1)=x(n)+h,(n=0,1,2...),同时计算f(x(n+1)).在增值过程中会遇到三种情况:1. f(x(n+1))=0,此时x(n+1)即为方程根。 f(x(n))和f(x(n+1))同号,说明区间内无根。 f(x(n))和f(x(n+1))同号,说明区间内有根,则把步长缩小,直至满足精度要求为止,x(n)或x(n+1)就是满足精度的近似根。 (2) 二分法:基本思想为:设f(x)在[a,b]内连续,且f(a)*f(b)0,则方程f(x)=0在(a,b)内有实根x*.然后逐步对分区间[a,b],通过判断两端点函数值乘积的符号,进一步缩小有根区间从而求出满足精度要求的近似值。 (3) 牛顿迭代法:基本思想为给定一个初始值由牛顿法的迭代公式:x(n+1)=x(n)-f(x(n))/f’(x(n)) (n=0,1,2...)逐步求出x(n),直至(x(n+1)-x(n))的绝对值小于给定精度,则x(n+1)即可作为近似值。 (4) 双点割线法:由给出的两个初始近似值,再根据双点割线法迭代公式:x(n+1)=x(n)-(f(x(n))/(f(x(n))-f(x(n-1)))*(x(n)-x(n-1)),(n=1,2,3...)逐步求出x(n),直至x(n+1)-x(n)的绝对值满足精度,则x(n+1)即可作为近似值。 (5) 单点割线法:由给出的两个初始近似值,再根据双点割线法迭代公式:x(n+1)=x(n)-(f(x(n))/(f(x(n))-f(x(0)))*(x(n)-x(0)),(n=1,2,3...)逐步求出x(n),直至x(n+1)-x(n)的绝对值满足精度,则x(n+1)即可作为近似值。 主要仪器设备:笔记本电脑 操作方法: 源代码: (1)增值寻根法: #includestdio.h double fun(double x){ //原函数 return(x*x*x+4*x*x-10);//求解方程f(x)=x*x*x+4*x*x-10=0的根,精度为10-3. } int main(){ double a=1.25,h=1,x=a; printf(初始近似值为:%lf\n,a); do{ if(fun(x)==0){printf(根为:%f,x);return 0;} /*如果初始值函数值为0,则初始值即为根*/ else if(fun(x)*fun(x+h)0) /*如果fun(x)和fun(x+h)同号则使X加h并跳出本次循环执行下一次*/ {x=x+h;continue;} else if(fun(x)*fun(x+h)0) //若异号则说明在X和X+h之间存在函数根,则缩//短步长继续寻根 {h=h/10.0;} }while(h0.001);//当不满足精度要求时继续执行循环体 printf(根为:%f\n,x);//跳出循环说明满足精度要求则x可近似作为方程根 return 0; } (2)二分法: #includestdio.h #includemath.h #define esp 1e-3 //精度 double f(double x) //原函数 { return (x*x*x+4*x*x-10); }

文档评论(0)

有一二三 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档