怎么求函数的极小值 matlab里

Fun_Dist =
@(rv)2.*exp((3148845754526937.*rv)./17592186044416)+2.*exp((1550533805295011.*rv)./35184372088832)+2.*exp((482079086066413.*rv)./8796093022208)
求出这个函数后,rv是未知的,也就是一元函数。为了方便后面还有很长没有写上 ,怎么求其极小值? 请写上程序 在线等 谢啦!!!!

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

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

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

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

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

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-26
有三种方法:
导数为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]

追问

我可以加你为好友么 ?论文急需 谢谢啦 小女子不胜感激!! 我号码私信发你 好么

追答

嗯,可以,百度私聊还是什么

追问

我发给你私信了 你看下

本回答被提问者采纳
第2个回答  2013-08-15
fminsearch

MATLAB求极小值
本文将介绍MATLAB中用于求解极小值的两个函数:fminbnd和fminsearch。首先,我们介绍fminbnd函数,它用于求解单变量非线性函数的最小值。语法为:[x,y]=fminbnd(h_fun,x1,x2,options),其中h_fun是函数句柄,'funname'是函数名,必须是单值非线性函数;options是用来控制算法的参数向量,默认值为0可...

怎么求函数的极小值 matlab里
1、首先在电脑中启动MATLAB,新建脚本(Ctrl+N),在脚本编辑区输入如下代码。2、其中f=@(x)是通过匿名函数的方法定义函数,inline( )是通过内联函数的方法定义函数。3、然后保存和运行上述脚本,如下图所示。4、在命令行窗口返回如下结果。5、保存和运行上述脚本也会得到以下图像,可以看到函数f(x)=...

【MATLAB学习笔记】数值方法——一维牛顿法(求极小值)
牛顿法是一种用于求解一维函数极值的数值方法。其利用了函数的一阶导数和二阶导数信息进行迭代逼近,以寻找极小值点。具体步骤包括:使用函数的导数信息来构建切线近似,通过切线与函数的交点来更新当前的近似解,迭代该过程直到满足精度要求。迭代公式为:x_new = x_old - f'(x_old) \/ f''(x_old...

matlab中 函数极值怎么求
极值:data是你的数据,find(diff(sign(diff(data)))==-2)+1 找到极大值的位置 find(diff(sign(diff(data)))==2)+1 找到极小值的位置 data(find(diff(sign(diff(data)))==-2)+1)和 data(find(diff(sign(diff(data)))==2)+1)返回的是极大值和极小值 ...

【MATLAB学习笔记】数值方法——黄金分割法(求极小值)
首先,我们编写一个名为Hjfg_minValue的函数,它犹如一个精密的寻宝仪器,以初始点为起点,通过黄金分割法的魔力,寻找函数f_sym的极小值。在代码中,我们看到f1_sym和f2_sym的导数被巧妙地计算,从而找到可能的最小值点x1_min和x2_min,借助MATLAB的强大符号计算功能,这些值被转换为数值型,以便于...

matlab求一个函数的极小值问题,急急急!!!
可以使用matlab的多元约束优化函数fmincon来求解。写成向量形式,约束a*x<=b,初始值x0附近可以搜出出局部极小值。输入:z=@(x)7.2*sqrt(25+(15-x(1))^2)+(7.2+(107\/(20-x(1)))*sqrt((8-x(2))^2+(20-x(1))^2)+7.2*x(2);a=[1,0;0,1];b=[15;8];x0=[1;1];[...

matlab求一个函数的极小值问题,急急急!!!
直接使用min()函数就行了呗,ymin=min(y);若是需要也找到x的对应值,可以这样:imin=find(min(y)==y);x(imin)

matlab求函数最小值
用“导数为零”法求极值点。采用优化算法求极小值。绘制图形观察最小值。据图形观察,重设fminbnd的搜索区间。MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

matlab求一个最小值
用derivative-free的方法是找到多变量无约束函数的最小值fminbnd 个函数求的是局部极小值点,只可能返回一个极小值点,像这种有多个极小值的函数,你应该先绘图找到各个极小值点的大致范围,然后把x的范围缩小到只有那个极小值的范围。 查看原帖>> ...

如何用MATLAB段函数的最小值和最大值
option可省.X1,X2为给定的范围,FUN为句柄或内联函数 例如:y=2*x^3-3*x^2 -1=<x<=4 的最大与最小值 程序 clc;clear;fun=@(x)2*x^3-3*x^2-1;fun2=inline('-(2*x^3-3*x^2-1)','x');ezplot(fun,[-1 4]); %先画图判断大概情况 [xmin,fmin,exitflag,output]=fmin...

相似回答