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

    对分法求解目标函数最优解函数MATLAB实现(共4页).docx

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

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

    对分法求解目标函数最优解函数MATLAB实现(共4页).docx

    精选优质文档-倾情为你奉上%对分法求解目标函数最优解函数function t,y= equation_extremum (x,a,b,epsional)%=%函数默认参数:%x为目标函数,输入字符串型,默认最优解求其最小值%a,b为其初始区间,默认闭区间,a<b%对初始区间的要求:初始区间是单谷区间,函数求极小值%则a处的导数<=0,b处的导数>=0;%=syms t;x_inline=inline(sym(x);func_diff=diff(sym(x);func_diff_inline=inline(func_diff);t=b;high_value=func_diff_inline(t);t=a;low_value=func_diff_inline(t);if high_value*low_value>0 t='本函数不可解' y='给定初始区间非单谷区间'else if high_value*low_value=0 if high_value=0 t=b; y=x_inline(t); else t=a; y=x_inline(t); end else while abs(high_value-low_value)>=epsional; c=1/2*(b+a); t=c; middle_value=func_diff_inline(t); if middle_value>0 high_value=middle_value; b=c; else if middle_value<0 low_value=middle_value; a=c; else if middle_value=0 break; end end end end c=1/2*(b+a); t=c; y=x_inline(t); endend运行代码:%=close all;clear all;clc;%目标函数syms t;t,y=equation_extremum('t*(t-3)',t,-3,5,0.1);disp(t,y);运行结果:t=1.5y=-2.25%抛物线法求函数最优解function t,y=parabola_extremum(x,t1,t2,epsional)%=%函数默认参数:%x为目标函数,输入字符串型,例如:'x2-sin(x)'默认最优解求其最小值%a,b为其初始区间,默认闭区间,t1<t2%对初始区间的要求:初始区间是单谷区间,函数求极小值%=syms t;x_inline=inline(sym(x);%生成随机数求出t0;high_value=x_inline(t2);low_value=x_inline(t1);t0=parabola_overture(x,t,t1,t2);%自定义函数,试探法求t0middle_value=x_inline(t0);%拟合曲线,待定系数法%p(t0)=a0+a1*t0+a2*t02=f(t0)%p(t1)=a0+a1*t1+a2*t22=f(t1)%p(t2)=a0+a1*t2+a2*t22=f(t2)%推出:%a1=(t02-t22)*f(t1)+(t22-t12)*f(t0)+(t12-t02)*f(t2)/(t1-t0)*(t0-t2)*(t2-t1)%a2=(t0-t2)*f(t1)+(t2-t1)*f(t0)+(t1-t0)*f(t2)/(t1-t0)*(t0-t2)*(t2-t1)while 1t_ba=0.5*(t02-t22)*low_value+(t22-t12)*middle_value+(t12-t02)*high_value)/(t0-t2)*low_value+(t2-t1)*middle_value+(t1-t0)*high_value);t_ba_value=x_inline(t_ba);if abs(t_ba-t0)<epsional t=t_ba; y=t_ba_value; break;else if t_ba>t0 if t_ba_value<=middle_value t1=t0; t0=t_ba; low_value=middle_value; middle_value=t_ba_value; else t2=t_ba; high_value=t_ba_value; end else if t_ba_value<=middle_value t2=t0; t0=t_ba; high_value=middle_value; middle_value=t_ba_value; else t1=t_ba; low_value=t_ba_value; end endenddisp(t1,t0,t2;low_value,middle_value,high_value)end%试探法求函数低点值,用于抛物线插值法function t0=parabola_overture(x,a,b)%=%函数默认参数:%x为目标函数,输入字符串型,例如:'x2-sin(x)'%a,b为其初始区间,默认闭区间,a<b%对初始区间的要求:初始区间是单谷区间,函数求极小值%=syms t;x_inline=inline(sym(x);%生成随机数求出t0;rand_t0=rand(1,10);high_value=x_inline(b);low_value=x_inline(a);middle_value=x_inline(rand_t0(1);k=1;while middle_value>high_value|middle_value>low_value k=k+1; middle_value=x_inline(rand_t0(k); if k>50 printf('请重新运行程序'); break; endendt0=rand_t0(k);运行代码:close all;clear all;clc;syms t;x='t2-sin(t)'x_inline=inline(sym(x);t,y=parabola_extremum(x,t,0,1,1e-4)运行结果:t = 0.5791y =-0.0718专心-专注-专业

    注意事项

    本文(对分法求解目标函数最优解函数MATLAB实现(共4页).docx)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




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

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

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

    收起
    展开