下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
二维搜索题目:y=1.9*xl*xl+l.l*x2*x2-1.2*xl*x2+ll*xl-13*x2+19
初始点(1,2),精度0.000001运行结果:x(-1.241777,5.232949)y=-21.838148⑥E:\C语M二维搜T\erwei.exeinput:x2tl],x2(2]:13N=1a=7.292000b=8.708000N=2a=-0.854000b=-0.146000[-0.855358,6.455154]p=3.921791N=1a=4.601154b=5.309155N=2a—1.091358b—0.619358[-1.175135,5.442792]p=l.061666N=1a=5.206792b=5.678792N=2a=-l.411135b=-0.939135[-1.230134,5.268620]pM.182649N=1a=5.032620b=5.504620N=2a—1.466134b—0.994134[-1.239196,5.239353]pM.030638N=1a=5.003353b=5.475353N=2a=-l.475196b=-l.003196[-1.241777,5.233534]p=0.006366N=1『4.997534b=5.469534N=2a—1.477777b—1.005777[-1.241777,5.232949]p=0.000585N=1a=4.996949b=5.468949N=2a—1.477777b=-l.005777[-1.241777,5.232949]p=0.000000x=[-1.241777,5.232949]f(x)=-21.838148#iiiclude<math.h>#include<stdio.h>#include<stdlib.h>/*头文件,第3个配合主程序最后一句,是让程序画面停留功能*/floatf(floatxl,floatx2)(floaty;y=L9*xl*xl+l.l*x2*x2-1.2*xl*x2+ll*xl-13*x2+19;returny; /*二元二次方程,以功能块形式定义,等待调用*/}voidfun(floatx,floataO.floathO.float*a,float*b,intN)/*外推法寻找一维搜索区间,当N=1时,x2被一个常数代替,成为对xl进行一维搜索*/(floatyl,y2,y3,al,a2,a3,h;al=a0;h=hO;switch(N)(case1:yl=f(x,al);a2=al+h;y2=Rx,a2);break;case2:yl=Ral,x);a2=al+h;y2=Ra2,x);break;}if(y2>yl)(h=-h;a3=al;y3=yl;chf: al=a2;yl=y2; /*寻找高低高*/a2=a3;y2=y3;}a3=a2+h;switch(N)(case1:y3=f(x,a3);break;case2:y3=Ra3,x);break;}If(y3<y2)(h=2*h;gotochf;}else(lf(h<0)JI*a=a3;*b=al;}else(*a=al;*b=a3;} /*确定区间上下限a,b*/}printf(”N=%da=%fb=%f\n”,N,a,b);}floatfuii2(floatx^floata.floatbjntN)/*黄金分割法程序*/( floata1,a2,yl,y2,result;al=a+0.382*(b-a);a2=a+0.618*(b-a);switch(N) /*黄金分割法法寻找一维搜索区间,当N=1时,x2被一个常数代替,该功能块只对一个维度进行分割求解*/(case1:yl=f(x,al);y2=f(x,a2);break;case2:yl=Ral,x);y2=f(a2,x);break;}wlule(fabs((b-a))>0.000001) /*把黄金分割的精度进行设置*/if(yl>=y2)
a=al;al=a2;yl=y2;a2=a+0.618*(b-a);switch(N){case1:y2=Rx,a2);break;case2:y2=Ra2,x);break;))else)elseb=a2;a2=al;y2=yi;b=a2;a2=al;y2=yi;al=a+0.382*(b・a);switch(N){case1:yl=Rx,al);break;case2:yl=Ral,x);break;))}result=(a+b)/2;letuin(result);J*最后把某一方向上的“下一点坐标”求出*J/*主函数*/voidmain()/*主函数*/voidmain()floataO,110=1,p,a.b,y,xl[2]={0},x2[2]={0};/*用aO把暂不需要做搜索的维度上的坐标值以常数形式送入*/inti=0;pnntfC'input:x2[l],x2[2]:\ii");scanf(”%必f',&x2[l],&x2⑵);do{xl[l]=x2[l];xl[2]=x2[2]; /*把前一点的xl,x2方向的坐标值,分别传递给新点,也就是把新得到的点作为旧点进行下一轮搜索*/fiin(xl[l],xl[2],h0,&a,&b,l); /*N=1,x2方向被以常数形式固定,送入xl方向的初值xll,按照初始步长为1进行xl方向搜索*/x2[2]=fiiii2(xl[l],a,b,l);/*由给定前一点的xl方向的值,得到此方向下一个点的值*/fim(x2[2],xl[l],h0,&a,&b,2);x2[l]=fiin2(x2[2],a,b,2);i=i++;pnntf(”(%d)[%f,%f]”,i,x2[l],x2[2]);P=sqrt((x2[l]-xl[l])*(x2[l]-xl[l])+(x2[2]-xl[2])*(x2[2]-xl[2]));pnntf(”p=%f\n”,p);/*新旧两点之间的距离p*/}wlule(sqn((x2[1]-x1[1])*(x2[1]-x1[1])+(X2⑵-xl[2])*(x2[2]-xl[2]))>=0.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年医师定期考核考试综合练习【考试直接用】附答案详解
- 2024-2025学年度施工员练习题附答案详解(B卷)
- 2024-2025学年医院三基考试高频难、易错点题含答案详解【夺分金卷】
- 2024-2025学年医师定期考核考试综合练习完整答案详解
- 2024-2025学年度法律硕士试题预测试卷附答案详解【综合卷】
- 2024-2025学年度燃气职业技能鉴定检测卷及参考答案详解【完整版】
- 2024-2025学年度计算机四级试题预测试卷及完整答案详解(夺冠)
- 2024-2025学年度云南农业职业技术学院单招数学常考点试卷完整版附答案详解
- 2024-2025学年度反射疗法师大赛理论考前冲刺练习题带答案详解(综合卷)
- 2024-2025学年度注册核安全工程师考试历年机考真题集【能力提升】附答案详解
- 掘进机工程机械类外文翻译、中英文翻译
- GB/T 5754.1-2015钢丝绳芯输送带纵向拉伸试验第1部分:伸长率的测定
- 建筑信息模型BIM技术简介李宁
- 《教师专业发展》课件
- 现代汉语语法(2)短语课件
- LabVIEW基础教程课件
- 唐宋词十七讲-(作者:叶嘉莹)
- 组合数学课件
- 生态环境材料 第2章 材料产业与生态环境
- 地测防治水标准化
- 新教材教科版五年级上册科学 3-3《我们的水钟》课件
评论
0/150
提交评论