【试验法求最小值】函数如下:
function [y, x0] = findmin(fun, a, b, steplen)
if(nargin<4), steplen = 0.01; end
if(a > b),
x = a : -steplen : b;
else
x = a : steplen : b;
end
[y, id] = min(fun(x));
x0 = x(id);
【计算结果】
>> fun = @(x) x.^2-5*x-4;
>> [y, x0] = findmin(fun, -5, 5, 0.001)
y = -10.2500
x0 = 2.5000
【注】第一个参数是函数,利用句柄形式,第二三个参数是区间两端,最后一个参数是试验步长,其实也就是等价于精确度。输入函数和区间,要保证有意义,否则会报错。