




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西安电子科技大学电子工程学院 最优化方法及应用(1)上机报告题 目: 最速下降法求最优解 任课老师:_ _xxxxxx_ _姓 名:_ xxxxxx_ _学 号:_ _xxxxxxxx_ _班 级:_ 02951_ _ _一、问题叙述:编程求解函数:的最小值点及最小值。二、问题分析实现方法:最速下降法(C语言)其中一维线性搜索用黄金分割法。三、代码/ 1_Steep.cpp : Defines the entry point for the console application./用最速下降法求解minf(X)=minf(x)=(x1+10*x2)2+5(x3-x4)2+(x2-2*x3)4+10(x1-x4)4,e=0.001。#include stdafx.h#include#includeusing namespace std;#define _accuracy 0.001/plusx()/*void plusx(float x4,float g4,float t)x0 += t*g0;x1 += t*g1;x2 += t*g2;x3 += t*g3;*/* f() */float f(float x4)float sum = 0.0;sum += (x0+10*x1)*(x0+10*x1);sum += 5*(x2-x3)*(x2-x3);sum += (x1-2*x2)*(x1-2*x2)*(x1-2*x2)*(x1-2*x2);sum += 10*(x0-x3)*(x0-x3)*(x0-x3)*(x0-x3);return sum;/void plusx(float x14,float x04,float g4,float t)x10 = x00+t*g0;x11 = x01+t*g1;x12 = x02+t*g2;x13 = x03+t*g3;/searchRange()void searchRange(float &a,float &b,float x4,float g4)float t0=10,t1=10,t2=2;float h=1;float xi=2;float f0,f1;float x14;int k=0;while (1)f0 = f(x);t2 = t1+h;plusx(x1,x,g,t2);f1 = f(x1);if (f1f0)h = xi*h;t0 = t1;t1 = t2;f0 = f1;k+;continue;else if(0=k)h = -h;t0 = t2;continue;else a=(t0=t2?t0:t2);b=(t0=t2?t2:t0);break;/gold()void gold(float &a,float &b,float x4,float g4)float t1,t2;float x14,x24;t2=a+0.382*(b-a);plusx(x2,x,g,t2);t1=a+b-t2;plusx(x1,x,g,t1);float f1,f2;f1=f(x1);f2=f(x2);if(f1f2) b=t1;else a=t2;b=t1; /* grad() */int grad(float X4,float g4)g0=2*(X0+10*X1)+40*(X0-X3)*(X0-X3)*(X0-X3);g1=20*(X0+10*X1)+4*(X1-2*X2)*(X1-2*X2)*(X1-2*X2);g2=10*(X2-X3)-8*(X1-2*X2)*(X1-2*X2)*(X1-2*X2);g3=0-10*(X2-X3)-40*(X0-X3)*(X0-X3)*(X0-X3);/*float sum = g0+g1+g2+g3;g0 = g0/sum;g1 = g1/sum;g2 = g2/sum;g3 = g3/sum;*/return 0;/* linesearch() */int linesearch(float Xk14,float Xk04,float g4)float mina,maxb,Lanbuda;/*searchRange(mina,maxb,Xk0,g);*/mina = -100;maxb =100;while (maxb-mina_accuracy) gold(mina,maxb,Xk0,g);Lanbuda = (mina+maxb)/2;plusx(Xk1,Xk0,g,Lanbuda);return 0;/*main()*/int main(int argc, char* argv)float X04=10,10,10,10,X14=10,10,10,10;float f0,f1,g4;f0=f(X0);grad(X0,g);int k=0;while(1)if(0=g0*g0+g1*g1+g2*g2+g3*g3) break;linesearch(X1,X0,g);f1=f(X1);grad(X1,g);if (_accuracy=g0*g0+g1*g1+g2*g2+g3*g3) break;X00 = X10;X01 = X11;X02 = X12;X03 = X13;/*if(k20)printf(迭代次数%d:tX=%.3f,%.3f,%.3f,%.3ft,+k,X00,X01,X02,X03);printf(minf(X)=%.3fn,f1);*/printf(迭代次数%d:tX=%.3f,%.3f,%.3f,%.3ft,+k,X00,X01,X02,X03);printf(minf(X)=%.3fn,f1);f0=f1;printf(target:X=%.3f,%.3f,%.3f,%.3fn,X00,X01,X02,X03);printf(minf(X)=%.3fn,f1);/cout.unsetf(ios:scientific);/coutX=setprecision(1)X10,setprecisio
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药理学复习计划的制定与执行试题及答案
- 六年级语文能力提高计划试题及答案
- 透视2024年统计学考试命题思路题及答案
- 2024年宠物营养问题解析试题及答案
- 2025年乘用车变速器齿轮合作协议书
- 2024年二手车评估师试题集锦及答案
- 2024年质检员考试中常见误区及试题及答案
- 电竞宾馆面试题及答案
- 2024年药理学考试的考情分析与试题答案
- 宠物营养师培养计划的关键点试题及答案
- 电网工程设备材料信息参考价(2024年第四季度)
- 电子产品生产工艺流程手册
- 2023-尔雅《星海求知:天文学的奥秘》课后章节答案
- LY/T 1955-2022林地保护利用规划林地落界技术规程
- 专练11(30题)(网格作图题)2022中考数学考点500题(吉林)解析版
- GB/T 1936.1-2009木材抗弯强度试验方法
- 马克思主义唯物史观课件
- 工商企业管理专业案例分析报告
- DB15T 2403-2021肉羊育种数据管理规范
- 口腔种植专用病历【范本模板】
- 《空中领航学》4.2 确定飞机位置
评论
0/150
提交评论