新浪博客

利用泛函命令fminbnd或fminsearch求极小值

2009-06-06 15:57阅读:
更多有关单片机、matlab的文章:链接地址
1、fminbnd函数
x = fminbnd(fun,x1,x2)
x = fminbnd(fun,x1,x2,options)
说明:x = fminbnd(fun,x1,x2) returns a value x that is a local minimizer of the function that is described in fun in the interval x1 < x < x2. fun is a function handle.
f = @(x)x.^3-2*x-5;
x = fminbnd(f, 0, 2)

2、fminsearch函数
x = fminsearch(fun,x0)
x = fminsearch(fun,x0,options)
[x,fval] = fminsearch(…)
fminsearch finds the minimum of a scalar function of sever
al variables, starting at an initial estimate. This is generally referred to as unconstrained nonlinear optimization.
x = fminsearch(fun,x0) starts at the point x0 and finds a local minimum x of the function described in fun. x0 can be a scalar, vector, or matrix. fun is a function handle.
banana = '100*(x(2)-x(1)^2)^2+(1-x(1))^2';
[x,fval] = fminsearch(banana,[0,1]);

或者
1 2
banana = @(x)100*(x(2)-x(1)^2)^2+(1-x(1))^2;
[x,fval] = fminsearch(banana,[-1.2, 1]);

我的更多文章

下载客户端阅读体验更佳

APP专享