




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上加步探索法#include<iostream>#include<math.h>using namespace std;double fun(double t)return (t*t*t-2*t+1);double max(double a,double b)if(a>b)return a;else return b;double min(double a,double b)if(a>b)return b;else return a;double Addstep(double(*pfun)(double t)int k=0;doubl
2、e t0=0,h=1,r=2,t,a=0,b=0;t=t0+h;doif(fun(t)<fun(t0)h=r*h;t0=t;t=t0+h;k+;elseif(k=0)h=-h;k+; elsea=min(t0,t);b=max(t0,t);return a;return b;while(a=b);cout<<" 探索区间为:"<<""<<min(t0,t)<<","<<max(t0,t)<<""<<endl;int main(
3、)Addstep(fun);return 0;对分法#include<iostream>#include<math.h>using namespace std;double fun(double t)return (t*t-3*t);double dfun(double t)return (2*t-3);void Dichotomous(double(*pfun)(double t),double (*pdfun)(double t)int maxflag=1000,k=1;double a=-3,b=5,c,err=0.1,t;doc=(a+b)/2;if(dfun(
4、c)<0)a=c;else if(dfun(c)>0)b=c;elsea=c;b=c;k+;while(fabs(a-b)>err&&k<maxflag);if(k>=maxflag)cout<<endl<<"对分法迭代失败!迭代次数为k="<<k<<endl;elsecout<<endl<<" 对分法迭代成功!迭代次数为k="<<k-1<<endl;cout<<"迭代结果:近似根为root=
5、"<<t<<endl;cout<<" 函数值近似为:f(root)="<<fun(t)<<endl;int main()Dichotomous(fun,dfun);return 0;Newton切线法#include<iostream>#include<math.h>using namespace std;double fun(double t)return (t*t*t-2*t+1);double dfun(double t)return (3*t*t-2);void Newto
6、nIterative(double(*pfun)(double t),double (*pdfun)(double t)int maxflag=1000,k=1;double t0=1,err=0.01,t;dot0=t;t=t0-pfun(t0)/pdfun(t0);k+;while(fabs(t-t0)>err&&k<maxflag);if(k>=maxflag)cout<<endl<<" 牛顿迭代失败!迭代次数为k="<<k<<endl;elsecout<<endl<&
7、lt;" 牛顿迭代成功!迭代次数为k="<<k-1<<endl;cout<<" 迭代结果:近似根为root="<<t<<endl;cout<<" 函数值近似为:f(root)="<<fun(t)<<endl;int main()NewtonIterative(fun,dfun);return 0;黄金分割法#include<iostream>#include<math.h>using namespace std;do
8、uble fun(double t)return (t*t+2*t);void Goldensection(double(*pfun)(double t)int maxflag=1000,k=1;double a=-3,b=5,err=0.001,t,t1,t2;dot1=a+0.618*(b-a);t2=b-0.618*(b-a);if(t1=t2)a=t2;b=t1;else if(t1<t2)a=t2; elseb=t1;k+;while(fabs(a-b)>err&&k<maxflag);if(k>=maxflag)cout<<end
9、l<<"黄金分割法迭代失败!迭代次数为k="<<k<<endl;elset=(a+b)/2;cout<<endl<<" 黄金分割法迭代成功!迭代次数为k="<<k-1<<endl;cout<<" 迭代结果:近似根为root="<<t<<endl;cout<<" 函数值近似为:f(root)="<<fun(t)<<endl;int main()Goldensect
10、ion(fun);return 0;抛物线插值法#include<iostream>#include<math.h>using namespace std;double fun(double x)return (8*x*x*x-2*x*x-7*x+3);double max(double a,double b)if(a>b)return a;else return b;double min(double a,double b)if(a>b)return b;else return a;void Parainterpolation(double(*pfun)(
11、double x)double a=0,b=2,err=0.001,x=0,x0=1,f,f0;dox=(x0*x0-b*b)*fun(a)+(b*b-a*a)*fun(x0)+(a*a-x0*x0)*fun(b)/(2*(x0-b)*fun(a)+(b-a)*fun(x0)+(a-x0)*fun(b);f0=fun(x0);f=fun(x);if(f=f0)a=min(x,x0);b=max(x,x0);x0=(a+b)/2;else if(fun(x)-f0)*(x-x0)>0)b=max(x,x0);x0=min(x,x0); elsea=min(x,x0);x0=max(x,x0);while(fabs(x-x0)>err);x=(x+x0)/2;cou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 时间管理与效率优化考核试卷
- 纺织品及针织品新型面料研发考核试卷
- 艺人公关危机处理与媒体应对技巧掌握考核试卷
- 聚合纤维的吸湿排汗性能考核试卷
- 空调器节能标准化进程考核试卷
- 航空业跨文化沟通与谈判技巧考核试卷
- 港澳台籍人士内地旅游企业岗位聘用服务协议
- 集成式酒店模块化精装修材料采购及结算合同
- 环保设施运营维护与升级改造协议
- 商业街区公共设施维护与运营管理承包合同
- 北京小学学位借用协议书
- 遗体转运合同模板
- 消费者价格敏感度研究-洞察分析
- 新课标下提高小学书法教学成效策略研究
- 2020-2024年五年高考数学真题分类汇编专题13 数列(真题10个考点精准练+模拟练)解析版
- 养老院九防制度
- 数据融合风控策略
- 2021年修订版《中华人民共和国安全生产法》考试题库
- 高温熔融金属企业安全知识培训
- 水利信息化水情监测系统单元工程质量验收评定表、检查记录
- 2024至2030年中国高密度聚乙烯树脂行业投资前景及策略咨询研究报告
评论
0/150
提交评论