您的位置:首页 > 编程语言 > MATLAB

matlab fminbnd函数

2014-04-13 09:51 585 查看
用于求某个给定函数的最小值点。

使用方法是:

x=fminbnd(func,x1,x2)

func是函数句柄,然后x1和x2就是函数的区间,得到的结果就是使func取最小值的x值

当然也可以使用[x,fv]=fminbnd(func,x1,x2)的方式,这个时候fv就是函数 的最小值,即有:fv=f(x)

测试程序如下:

>> f=@(x) exp(x)-4*sin(x)+5;
>> [x,fv]=fminbnd(f,0,1)
x =
0.9048
fv =
4.3262

当然,如果在某个区间上是单调的,结果就有点意思了:

>> clear
>> f=@(x) x^-2*x-3;
>> [x,fv]=fminbnd(f,2,3)
x =
2.9999
fv =
-2.6667

看样子MATLAB是使用了定长小区间的方式计算的,而且结果也是错误的,这不免让人对这个函数的可靠性产生怀疑……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: