版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 梦想启航:为未来定目标小学主题班会课件
- 厂区重载混凝土路面施工建设方案
- 客户关系管理CRM系统操作手册
- 小学生科学素养与探究精神培养-小学主题班会课件
- 预防艾滋病梅毒和乙肝母婴传播技术培训试题及答案-1
- 一年级英文题目及答案
- 对项目进度延误的紧急沟通函3篇
- 梦想启航:拥抱未来挑战小学主题班会课件
- 警惕传染病源共筑健康堡垒五年级主题班会课件
- 警惕交通危险,守护生命至上,几年级主题班会课件
- 广东省珠海市香洲区2024-2025学年五年级下学期期末数学试题(含答案)
- 2026年高考真题-历史(陕晋青宁卷) 含解析
- 2026《危险化学品安全法》对标自查表(Excel适配版)
- 2026-2030中国有机液态氢行业产能预测与投资战略规划可行性研究报告
- 2026云南昆明市延安医院招聘编外人员备考题库及一套参考答案详解
- 2026年江苏高中提前自主招生考试数学试卷试题(含答案详解)
- 陕西国硒谷富硒产品研发中心有限公司招聘笔试题库2026
- 2026年出版社编辑岗位招聘笔试练习题及答案
- 2026年生产安全事故应急预案编制导则全文
- 2026湖北事业单位联考襄阳市市直招聘173人备考题库附参考答案详解(综合卷)
- 疗愈经济蓝皮书2026-愈到研究院-202601
评论
0/150
提交评论