网站大量收购闲置独家精品文档,联系QQ:2885784924

最优化方法讲解.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中北大学 实验报告 课 程 名: 最优化方法 任课教师: 李卉 专 业: 数学与应用数学 学 号: 1308014112 姓 名: 李鑫 2015/2016学年 第2学期 中北大学 理学院 《最优化方法》课程实验 第1次实验报告 一、实验内容及基本要求 实验项目名称:黄金分割法程序设计 实验类型:设计型 每组人数:1 实验内容及要求: 内容:能够应用MATLAB或C++设计黄金分割法的程序,并用实例进行验证 要求:能够独立完成程序的设计及验证 二、实验题目 利用黄金分割法求函数在上的极小点。取容许误差, 三、实验步骤及结果 1)、建立y函数M文件(fun_gs.m) function y= fun_gs(x) y=3*x^2-2*tan(x); end 2)、建立求解极小值点的M文件(gs.m) function gs(x) a=0; b=1; eps=0.0001; i=100; a1=b-0.618*(b-a); a2=a+0.618*(b-a); y1=fun_gs(a1); y2=fun_gs(a2); for k=1:i; if (abs(b-a)=eps) y=fun_gs((b+a)/2); break; else if (y1=y2) y2=fun_gs(a1); b=a2; a2=a1; a1=b-0.618*(b-a); y1=fun_gs(a1); else y1=fun_gs(a2); a=a1; a1=a2; a2=a+0.618*(b-a); y2=fun_gs(a2); end i=i+1; end end i a0=(b+a)/2 y=fun_gs((b+a)/2) end 实验结果: i = 120 %迭代次数 a0 = 0.3895 %极小值点 y = -0.3658 %在极小值点上的函数值 迭代120次求得极小值点为a0=0.3895,在极小值点的函数值 《最优化方法》课程实验 第2次实验报告 一、实验内容及基本要求 实验项目名称:牛顿法程序设计 实验类型:设计型 每组人数:1 实验内容及要求: 内容:能够应用MATLAB或C++设计牛顿法的程序,并用实例进行验证 要求:能够独立完成程序的设计及验证 二、实验题目 利用牛顿法程序求解 该问题有精确解。 三、实验步骤及结果 #includestdio.h #includemath.h double f1(double x,double y) {return(4*pow(x*x-y,2)+3*pow(x-1,2));} void main(){ double h=3,x0=2,x1,y0=2,y1,s,r0,r1; double e0=0.000001,e1=0.000001; int k=0; s=sqrt(pow(16*x0*x0*x0-16*x0*y0+6*x0-6,2)+pow(-8*x0*x0+8*y0,2)); printf(%d x=%f y=%f s=%f\n,k,x0,y0,s); while (se1){ x1=x0;y1=y0;r0=f1(x0,y0);h=3; while (fabs(h)e0){ r1=f1(x1-h*(16*x1*(x1*x1-y1)+6*(x1-1)),y1-h*(-8*(x1*x1-y1))); if (r1r0){ x0=x1-h*(16*x1*(x1*x1-y1)+6*(x1-1)); y0=y1-h*(-8*(x1*x1-y1)); r0=r1; h=h+h; } else if(fabs(h)e0) h=-1*h/4; } s=sqrt(pow(16*x0*x0*x0-16*x0*y0+6*x0-6,2)+pow(-8*x0*x0+8*y0,2)); k++; printf(%d x=%f y=%f s=%f\n,k,x0,y0,s); } printf(x=%f y=%f,x0,y0); } 实验结果: 上面结果表明,用牛顿法迭代110次可以求得最优解,最优解

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档