【优化方法】牛顿法实例
0. 前言 上一节 中已经介绍了牛顿法的一些原理,在本节中举个具体例子,利用牛顿法求解函数最小值。 1. 例子 求解下列函数最小值: 由于这个函数较为简单,所以利用f对x、y分别求偏导数,再令偏导数等于0,就可以求得极值点,又该函数是凸函数(如果分析不出,可视化函数,如下图),所以极值点就是最小值点,故最小值点(-1,1.5).在这里的话,利用牛顿迭代法求解函数最小值。 步骤: 2. 实施细节 %% 部分参考【1】 % objective function: f(a,b) = 2*a^2 + b^2 + 2*a*b + a - b clear;clc;close A=[4,2;2,2]; x=[2;-2]; tmp=[0;0]; b=[0;0]; delta = 1.0e-8; %前后两次迭代差值 error=1; k=1; max_iters = 10000; history = zeros(max_iters,2); while(k<=max_iters && error > delta) b=[4*x(1,1)+2*x(2,1)+1;2*x(2,1)+2*x(1,1)-1]; tmp=x - inv(A)*b; error=norm(x-tmp,2); x=tmp; history(k,1) = x(1); history(k,2) = x(2); k = k +