matlab求函数在区间内最大值与最小值
我用了fminbnd这个函数使用方法如下
详细信息官方文档
方法一
fun = @sin;
x1 = 0;
x2 = 2*pi;
x = fminbnd(fun,x1,x2)
结果
x = 4.7124 %返回的是当极小值点
方法二
求 sin(x) 的最小值的位置以及在 0<x<2π 区间内的最小值。
fun = @sin;
[x,fval] = fminbnd(fun,1,2*pi)
结果
x = 4.7124
fval = -1.0000 %返回的是最小值
所以我们便可以随便用一种方法解出题目,我用的是方法二
clear
f=@(x)2*exp(-x)*sin(x);
[xmin,ymin]=fminbnd(f,0,5)
f1=@(x)(-1)*2*exp(-x)*sin(x);
[xmax,ymax]=fminbnd(f1,0,5)
ymax=-ymax
运行结果如下