怎么求函数的极小值 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是未知的,也就是一元函数。为了方便后面还有很长没有写上 ,怎么求其极小值? 请写上程序 在线等 谢啦!!!!
展开
 我来答
小白聊电子科技
高粉答主

2021-06-11 · 专注电子数码问题解答
小白聊电子科技
采纳数:775 获赞数:75463

向TA提问 私信TA
展开全部

1、首先在电脑中启动MATLAB,新建脚本(Ctrl+N),在脚本编辑区输入如下代码。

2、其中f=@(x)是通过匿名函数的方法定义函数,inline( )是通过内联函数的方法定义函数。

3、然后保存和运行上述脚本,如下图所示。

4、在命令行窗口返回如下结果。

5、保存和运行上述脚本也会得到以下图像,可以看到函数f(x)=sin(x)+x*cos(x)的曲线,以及它在区间[0, 5]上的极大值与极小值,如下图所示就完成了。

make1573
推荐于2017-11-26 · TA获得超过2075个赞
知道小有建树答主
回答量:535
采纳率:71%
帮助的人:152万
展开全部
有三种方法:
导数为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]
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
疾风动竹
2013-08-15 · TA获得超过3.2万个赞
知道大有可为答主
回答量:7695
采纳率:86%
帮助的人:1570万
展开全部
fminsearch
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式