![对分法求解目标函数最优解函数MATLAB实现(共4页)_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-11/23/91a839d7-932f-49ec-aca9-22b93b735e28/91a839d7-932f-49ec-aca9-22b93b735e281.gif)
![对分法求解目标函数最优解函数MATLAB实现(共4页)_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-11/23/91a839d7-932f-49ec-aca9-22b93b735e28/91a839d7-932f-49ec-aca9-22b93b735e282.gif)
![对分法求解目标函数最优解函数MATLAB实现(共4页)_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-11/23/91a839d7-932f-49ec-aca9-22b93b735e28/91a839d7-932f-49ec-aca9-22b93b735e283.gif)
![对分法求解目标函数最优解函数MATLAB实现(共4页)_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-11/23/91a839d7-932f-49ec-aca9-22b93b735e28/91a839d7-932f-49ec-aca9-22b93b735e284.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、%对分法求解目标函数最优解函数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
2、;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);
3、 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);运行结
4、果: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,t
5、2);%自定义函数,试探法求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
6、*(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; mid
7、dle_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=parabol
8、a_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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人贷款合同样本:银行借款专用
- 一站式融资担保合同范例
- 个人住宅购买合同样本
- 个人清洁服务合同范本
- 个人货车租赁合同模板
- 二手房买卖合同范本
- 买卖合同简易版样本:家庭用品
- 专利许可合同其二:地域限制说明
- 个人股权转让合同
- 2025年物流费用结算办法协议
- 倾听幼儿马赛克方法培训
- 设备日常维护及保养培训
- 2024年建房四邻协议范本
- FTTR-H 全光组网解决方案装维理论考试复习试题
- 2024年安全生产月主题2024年学校安全生产月活动方案
- 2024年广东佛山市中医院三水医院招聘61人历年高频考题难、易错点模拟试题(共500题)附带答案详解
- 测绘保密协议书保密协议(2024版)
- 中级半导体分立器件和集成电路装调工技能鉴定考试题库(含答案)
- 固定资产培训课件共-51张
- 2024年高考语文思辨类作文预测+考前模拟题+高分范文
- 2024年演出经纪人考试必背1000题一套
评论
0/150
提交评论