matlab 解目标函数,对分法求解目标函数最优解函数MATLAB实现

编程入门 行业动态 更新时间:2024-10-24 03:26:57

matlab 解目标<a href=https://www.elefans.com/category/jswz/34/1771370.html style=函数,对分法求解目标函数最优解函数MATLAB实现"/>

matlab 解目标函数,对分法求解目标函数最优解函数MATLAB实现

%%对分法求解目标函数最优解函数

function [t,y]=equation_extremum(x,~,a,b,epsional)

%%=======================================

%函数默认参数:

%x为目标函数,输入字符串型,默认最优解求其最小值

%a,b为其初始区间,默认闭区间,a

%对初始区间的要求:初始区间是单谷区间,函数求极小值%则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);

ifhigh_value*low_value>0

t='本函数不可解';

y='给定初始区间非单谷区间';

else if high_value*low_value==0

ifhigh_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);

ifmiddle_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

更多推荐

matlab 解目标函数,对分法求解目标函数最优解函数MATLAB实现

本文发布于:2023-06-11 23:30:26,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/645279.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:函数   目标   最优   matlab   MATLAB

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!