功能
找到最小的无约束多变量函数,通俗理解就是求一个函数最小值,和取最小值时变量的取值。
使用形式
常见形式:[optTheta, functionVal, exitFlag, output]=fminunc(@func,fun,x0,options)
参数解释:
- @func:待求解的函数句柄,不懂句柄的可以百度,简单理解就是引用该函数。
- x0:该函数内部改用迭代的方式逼近最小值,该值是初始给定值,简答理解就是函数内部从这个值开始迭代。
- options:转optimset详细解释 ,详情可见链接内容,该参数可以不设置。
返回值解释:
- optTheta:取最小值时函数func变量的取值,可以是数,也可以是数组。
- functionVal:函数func的局部最有解
- exitFlag:返回标志,返回值为1时说明函数收敛,返回值为0表示迭代次数超过设定值,返回值为负数表示函数不收敛。
- output:返回一些函数内部数据,例如迭代次数等
示例
function f=fminuc_test(x)
f=x^2-4*x+9;
end;
[optTheta, functionVal, exitFlag, output]=fminunc(@fminuc_test,-10)
返回结果
optTheta = 2.0000
functionVal = 5
exitFlag = 1
output =
scalar structure containing the fields:
iterations = 7
successful = 6
funcCount = 20