- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
上机报告-二分法,史蒂芬森迭代,割线法22
计算方法上机实习报告
[题目及目的要求]
用二分法求方程在[0,5]上根的近似值。用牛顿迭代法求在附近的实根。
完成史蒂芬森迭代加速法和割线法的子程序,并利用方程对比对分法与一般迭代法。
[方法原理说明]
二分法和牛顿迭代法:
二分法是逐次把有根区间分半,舍弃无根区间而保留有根区间的一种逼近根的方法。在这个过程中有根区间的长度以2的幂次方减少,当有根区间的长度小于给定的精度时,其中点就作为根的近似值。
牛顿迭代法的迭代格式为:
初值
(k=0,1,2....)
显然,牛顿迭代格式能够迭代下去必须要求的导数不能为0.当某个或很小时,迭代中断;当满足一定条件时,牛顿迭代具有平方收敛速度。该方法对初值要求较高,若选取不当,则可能发散,若选取的好,则收敛很快。
史蒂芬森迭代加速法和割线法
迭代法就是通过一个迭代格式进行反复迭代以产生一个序列。若这个序列收敛于方程的根,就称这个迭代格式收敛。史蒂芬森迭代加速法的迭代格式为
, (k=0,1,2....)
割线法与牛顿迭代法一样,即在根的某个邻域内,有直至二阶的连续导数,且,则在邻域内选取初值,迭代均收敛。割线法的迭代格式为
初值
(k=2,3....)
[计算步骤]
1.二分法:
1)给定a,b及精度要求ep;
2)计算x=(a+b)/2 及;
3)若b-aep,则返回主程序,x作为近似根,否则转4;
4)若,则,否则;
5)转2。
牛顿迭代法:
1)输入初始值,精度要求ep,允许最大迭代次数;
2)k=1,G=;
3)若ep,则停止计算,迭代中断,否则计算
4)若,则为近似解,返回主程序。否则计算
5)若,则停止计算,迭代发散,否则转3。
2.割线法:
1)输入初始值,精度要求ep,允许的最大迭代次数;
2)k=1,G=;
3)若ep,则停止计算,迭代中断,否则计算
4)若,则为近似解,返回主程序。否则计算
5)若,则停止计算,迭代发散,否则转3。
史蒂芬森加速迭代法:
1)输入初始值,精度要求ep,允许的最大迭代次数;
2)计算;
3)若ep,则停止计算,迭代中断,否则计算
4)若,则近似解,返回主程序。否则计算
5)若,则停止计算,迭代发散,否则转3。
[程序清单及运行结果]
二分法和牛顿迭代法:
1)二分法:
#includestdio.h
double f(double x)
{
double f1;
f1=x*x*x-6*x-1;
return(f1);
}
double df(double a,double b,double x,double ep)
{
double c;
c=b-a;
while(c=ep)
{
x=(a+b)/2;
if(f(a)*f(x)0) a=x;
else
b=x;
c=b-a;
}
x=(a+b)/2;
return(x);
}
main()
{
double a,b,x,ep;
a=0.0;
b=5.0;
ep=0.000001;
x=0.0;
x=df(a,b,x,ep);
printf(the root of f(x) is %f\n,x);
}
执行结果:
牛顿迭代法:
#includestdio.h
double f(double x)
{
double al;
al=x*x*x-3*x-1;
return(al);
}
double fl(double x)
{
double bl;
bl=3*x*x-3;
return(bl);
}
double nt(double x,double ep,int flag,int nmax)
{
int k;
double x0,g;
flag=1;
k=1;
while((fabs(x-x0)ep)(knmax))
{
x0=x;
g=fl(x0);
if(fabs(g)ep)
{
flag=0;
break;
}
x=x0-f(x0)/g;
您可能关注的文档
最近下载
- 2025内蒙古自治区人大常委会办公厅所属事业单位竞争性比选工作人员17人考试备考题库及答案解析.docx VIP
- 专题4++中华民族的伟大复兴——屈辱史、探索史、党的发展史、复兴史+课件+2025年云南省中考历史备考二轮复习.pptx VIP
- 米家掌航智能门锁H6使用说明书.pdf
- 钢帘线生产工艺.pdf
- 2025内蒙古自治区人大常委会办公厅所属事业单位竞争性比选工作人员17人笔试备考试题及答案解析.docx VIP
- 天龙AVR-1312功放说明书.pdf
- [软件测试]-软件测试说明书的模板.docx VIP
- 2023-2024初中物理竞赛试题精选精编第01讲力、重力、弹力(含解析).doc VIP
- 刍议QC/T+29106-2014汽车电线束技术条件.pdf VIP
- 2025内蒙古自治区人大常委会办公厅所属事业单位竞争性比选工作人员17人笔试模拟试题及答案解析.docx VIP
文档评论(0)