options = optimset('GradObj', 'on', 'MaxIter', '100');
initialTheta = zeros(2,1);
[optTheta, functionVal] = fminunc(@costFunction, initialTheta, options);
图片为Octave中的help文档说明。
options
功能 :为fminunc函数配置参数
’GradObj’
当设置为“on”时,要最小化的函数必须返回第二个参数,即函数在x点处的梯度或一阶导数。如果设置为“OFF”[默认],则通过有限差分计算梯度。
’MaxIter’
函数在达到最优值前的最大更新次数,必须为正值。
fminunc
功能:
解决FCN函数定义从非约束优化问题
FCN(@costFunction)
“fminunc”试图确定向量x,使‘FCN(X)’是一个局部最小值。注意FCN返回值是一个数值。
句柄(@)使用方法https://blog.csdn.net/gzp444280620/article/details/49252491
X0( initialTheta)
X0定义一个猜测的初始值。
X(optTheta)和 FVAL(functionVal)
X是局部最小值
FVAL包含目标函数在X的值