欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    中科大《优化设计》课程大作业之一维搜索优化设计实验报告.doc

    • 资源ID:69951734       资源大小:52.54KB        全文页数:15页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    中科大《优化设计》课程大作业之一维搜索优化设计实验报告.doc

    中科大优化设计课程大作业之一维搜索优化设计实验报告优化设计实验报告力学系型号:联想y470CPU:i52450M内存:2GB系统:win7-64位如下是三个目标函数(包括自定义函数)以及初值和精度选取:1、min f(x)=xx*xx4*xxx-6*x*x16x+4 初值=3; 精度=0。0000012、min f(x)=x*x+exp(-x) 初值=100; 精度=0.0000013、min f(x)=(x-1)*(x-1)+1初值= 3; 精度=0。000001如下是各个方法运算结果:1.黄金分割法函数时间次数极值点极值10.007099334.0-156。020。006005380。351810.8271830。000718311.01.02。平分法函数时间次数极值点极值10.13946104。0156。021.520886260。351730.8271831。319126211。01。03.成功失败法函数时间次数极值点极值10。015909124。0-156.020.002930390.351730.8271830。001100421。01.04.牛顿法函数时间次数极值点极值10.52764344。0156。020.63695730。351730。8271830。15020401。01.05。三点二次插值法函数时间次数极值点极值10.01416434。0-156。020.010109200。351730。8271830。00133901。01。0简要总结:通过上面的5个表格可以综合看出,牛顿法是这几个方法中最有效的方法。同时,根据编程来看,牛顿法的算法简单,所以程序相对其他几种简洁,故牛顿法可作为常用方法使用。在程序的运行方面,分别设置了可变的函数选择、起始点、方法选择、精度这四个输入,故可以在命令窗口运行主程序main,再根据提示分别输入这四个参数的所需值,就可以得到运行结果.程序如下:1、 主程序clear;global k;k=0;disp(1。f(x)=xx*xx-4*xxx6x*x-16*x+4);disp('2.f(x)=x*x+exp(x)');disp('3.f(x)=(x-1)(x-1)+1');while 1 no=input('请输入上面所想选择函数的编号(1、2、3):'); if no=1|no=2|no=3 break; end disp('此次输入无效.');end disp(' ');x0=input(请输入初始值:);disp( ');disp('1。黄金分割法);disp(2。平分法);disp('3。成功失败法);disp('4.牛顿法);disp(5。三点二次插值法');disp(6.三次插值法');while 1 m1=input(请输入上面所想选择方法的编号(1、2、3、4、5、6):'); if m1=1m1=2|m1=3m1=4|m1=5|m1=6 break; end disp('此次输入无效.');end disp(' );while 1e=input('请输入精度(建议0。001或0.000001):'); if e0 break; end disp('此次输入无效.');end disp(' );disp(');x,y=fmin(no,x0,m1,e);fprintf('迭代次数为: %8.0fn', k);fprintf('所求极值的横坐标x为: %16.5fn', x);fprintf(所求极值的纵坐标y为: %16。5fn, y);2、 调用函数function x,y=fmin(no,x0,m1,e)amin,amax,c=range1(no,x0);if m1=1 tic;x,y=gold(no,amin,amax,e);toc;elseif m1=2 tic;x,y=pingfen(no,amin,amax,e);toc;elseif m1=3 tic;x,y=chenggong(no,amin,e);toc;elseif m1=4 tic;x,y=newton(no,amax,e);toc;elseif m1=5 tic;x,y=chazhi(no,amin,amax,c,e);toc;elseif m1=6 tic;x,y=sanci(no,amin,amax,e);toc;endend3、三点二次插值function x,y=chazhi(no,amin,amax,c0,e)UNTITLED10 此处显示有关此函数的摘要 此处显示详细说明global k;a1=amin;y1=f_1(no,a1);a2=c0;y2=f_1(no,a2);a3=amax;y3=f_1(no,a3);while 1 c1=(y3-y1)/(a3-a1); c2=((y2y1)/(a2a1)-c1)/(a2-a3); a4=(a1+a3c1/c2)/2; y4=f_1(no,a4); if abs(y4-y2)/y4)<e break; end if a4a2 if y4>y2 a3=a4;y3=y4; else a1=a2;y1=y2; a2=a4;y2=y4; end else if y4y2 a1=a4;y1=y4; else a3=a2;y3=y2; a2=a4;y2=y4; end end k=k+1;endif y4y2 x=a2;y=y2;else x=a4;y=y4;endend4、 成功法function x,y=chenggong(no,amin,e)UNTITLED8 此处显示有关此函数的摘要% 此处显示详细说明global k;x0=amin;h=1;while 1 x1=x0+h; f0=f_1(no,x0); f1=f_1(no,x1); if f1<f0 x0=x1; h=2*h; else if abs(h)e break; else h=-1/4*h; end end k=k+1;endx=(x0+x1)/2;y=f_1(no,x);end5、 黄金分割法function x,y=gold(no,amin,amax,e)%UNTITLED6 此处显示有关此函数的摘要 此处显示详细说明global k;a1=amax-0.618(amaxamin);y1=f_1(no,a1);a2=amin+0。618*(amaxamin);y2=f_1(no,a2);while abs(amaxamin)>=e if y1>=y2 amin=a1; a1=a2; y1=y2; a2=amin+0.618*(amaxamin); y2=f_1(no,a2); else amax=a2; a2=a1; y2=y1; a1=amax0。618(amax-amin); y1=f_1(no,a1); end k=k+1;endx=(amax+amin)/2;y=f_1(no,x);end6、 牛顿法function xx,yy=newton(no,amax,e)UNTITLED9 此处显示有关此函数的摘要% 此处显示详细说明global k;syms x;if no=1 f=xx*xx4x*xx6*xx-16x+4;elseif no=2 f=x*x+exp(x);elseif no=3 f=(x-1)*(x1)+1;endx0=amax;while(1) x0 = x0-double(subs(diff(f,x),x0)/subs(diff(diff(f,x),x),x0); if abs(double(subs(diff(f,x),x0)))e break; end k=k+1;endxx=x0;yy=f_1(no,xx);end7、 平分法function x,y=pingfen(no,amin,amax,e)%UNTITLED7 此处显示有关此函数的摘要% 此处显示详细说明global k;c=(amin+amax)/2;c1=f_2(no,c);while abs(c1)=e if c10 amax=c; else amin=c; end c=(amin+amax)/2; c1=f_2(no,c); if amaxamin<e break; endk=k+1;endx=(amin+amax)/2;y=f_1(no,x);end8、 三次插值法(附加方法,可不用)function x,y=sanci(no,amin,amax,e)%UNTITLED11 此处显示有关此函数的摘要% 此处显示详细说明global k;a=amin;fa=f_1(no,a);ffa=f_2(no,a);b=amax;fb=f_1(no,b);ffb=f_2(no,b);while 1 A=(b-a)*(ffb+ffa)+2*(fa+fb))/((b-a)(b-a)*(ba)); B=(3(fb-fa)-(ba)*(ffb+2ffa))/(ba)(ba)); C=ffa; d=aC/(B+sqrt(B*B3AC)); ffd=f_2(no,d); ffd=double(ffd); if abs(ffd)e break; end if ffd0 a=d; else b=d; end k=k+1;endx=d;y=y_1(no,x);end9、 确认区间函数function amin,amax,c = range1(no,x0)%UNTITLED5 此处显示有关此函数的摘要 此处显示详细说明h=1;a1=x0;y1=f_1(no,a1);a2=a1+h;y2=f_1(no,a2);if y2y1 h=-h; a3=a1;y3=y1; a1=a2; a2=a3;y2=y3;enda3=a2+h;y3=f_1(no,a3);while y3y2 h=h*2; a1=a2; a2=a3;y2=y3; a3=a2+h;y3=f_1(no,a3);endamin=min(a1,a3);amax=max(a1,a3);c=a2;end10、 所给题目的函数1function y=f_1(no,x)if no=1 y=xx*x*x-4*xx*x-6xx-16x+4;elseif no=2 y=x*x+exp(-x);elseif no=3 y=(x-1)*(x1)+1;endend11、 所给题目的函数2function y=f_2(no,x0)UNTITLED 此处显示有关此函数的摘要 此处显示详细说明syms x;if no=1 y1=xx*x*x-4xx*x6xx16*x+4; y2=diff(y1); y=subs(y2,x,x0);elseif no=2 y1=x*x+exp(-x); y2=diff(y1); y=subs(y2,x,x0);elseif no=3 y1=(x1)(x-1)+1; y2=diff(y1); y=subs(y2,x,x0);end

    注意事项

    本文(中科大《优化设计》课程大作业之一维搜索优化设计实验报告.doc)为本站会员(知****量)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开