题目5
编写程序实现牛顿法。
牛顿法用来求解一维函数的局部极小值点; 利用Matlab编写函数 [x,minf]=Newton(f,x0,eps).
其中f为目标函数,x0为初始点,eps为算法终止的精度。 用牛顿法求解无约束优化问题minf(x)。 算法3
S1 给出x0?R精度e>0,令k:=0; S2 若
f¢(xk)£e,
停止,极小值点为xk;
S3 令xk+1=xk-f¢(xk); f¢¢(xk)S4 令k:=k+1, 转S2. 题目6
取初始点x0=2,用牛顿法求函数f(t)=t2-lnt-5的任一极小值点。
题目7
编写程序实现全局牛顿法。
利用Matlab编写函数 [x,miny]=GlobalNewton(f,x0,eps). 其中f为目标函数,x0为初始点,eps为算法终止的精度。 用全局牛顿法求解无约束优化问题minf(x)。 算法4
S1 给出x0?R精度e>0,令k:=0;
S2 计算f¢(xk),f¢¢(xk), 若f¢(xk)10则转S4;若f¢¢(xk)30则停止; 令初始值d=e;
S3 令d=2d, 如果f(xk+d)3f(xk), 则转 S3; 令xk+1=xk+d,k=k+1, 转S2;
S4令bk=f¢¢(xk), 如果bk£0, 则令bk=1, 置ak=1; S5 如果
f(xk-akf¢(xk)a2)£f(xk)-k[f¢(xk)] bk4bk
则转S6;置ak=ak/2; 转S5; S6 令xk+1=xk-akf¢(xk), k=k+1, 转S2.
bk 题目8
取初始点x0=5,用全局牛顿法求函数f(t)=t3-3t+2的极小值点。
相关推荐: