怎么求函数的极小值 matlab里
Fun_Dist=@(rv)2.*exp((3148845754526937.*rv)./17592186044416)+2.*exp((1550533805295011...
Fun_Dist =
@(rv)2.*exp((3148845754526937.*rv)./17592186044416)+2.*exp((1550533805295011.*rv)./35184372088832)+2.*exp((482079086066413.*rv)./8796093022208)
求出这个函数后,rv是未知的,也就是一元函数。为了方便后面还有很长没有写上 ,怎么求其极小值? 请写上程序 在线等 谢啦!!!! 展开
@(rv)2.*exp((3148845754526937.*rv)./17592186044416)+2.*exp((1550533805295011.*rv)./35184372088832)+2.*exp((482079086066413.*rv)./8796093022208)
求出这个函数后,rv是未知的,也就是一元函数。为了方便后面还有很长没有写上 ,怎么求其极小值? 请写上程序 在线等 谢啦!!!! 展开
3个回答
展开全部
有三种方法:
导数为0求极值、优化算法(运用函数)、绘图观察
有2个函数:
[x,feal,exitflag,output]=fminbnd(fun,x1,x2,options)
[x,feal,exitflag,output]=fminsearch(fun,x0,options)
%若exitflag给出数大于0,则成功找到极值点,x,fval分别是极值点和对应的目标函数极值
运用函数的例子:在-10《x《10区间,求函数最小值
x1=-10;x2=10;
yx=@(x)(sin(x)^2)*exp(-0.1*x)-0.5*sin(x)*(x+0.1));
[xn0,fval,exitflag,output]=fminbnd(yx,x1,x2)
导数为0求极值、优化算法(运用函数)、绘图观察
有2个函数:
[x,feal,exitflag,output]=fminbnd(fun,x1,x2,options)
[x,feal,exitflag,output]=fminsearch(fun,x0,options)
%若exitflag给出数大于0,则成功找到极值点,x,fval分别是极值点和对应的目标函数极值
运用函数的例子:在-10《x《10区间,求函数最小值
x1=-10;x2=10;
yx=@(x)(sin(x)^2)*exp(-0.1*x)-0.5*sin(x)*(x+0.1));
[xn0,fval,exitflag,output]=fminbnd(yx,x1,x2)
更多追问追答
追问
output 怎么设置呢? 一般设为几?
追答
output是输出量,表示优化算法和迭代次数
>>
>> x1=-10;x2=10;
yx=@(x)(sin(x)^2*exp(-0.1*x)-0.5*sin(x)*(x+0.1));
[xn0,fval,exitflag,output]=fminbnd(yx,x1,x2)
xn0 =
2.5148
fval =
-0.4993
exitflag =
1
output =
iterations: 13
funcCount: 14
algorithm: 'golden section search, parabolic interpolation'
message: [1x112 char]
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fminsearch
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询