newton.m

来自「学会不同搜索法(最速下降法」· M 代码 · 共 23 行

M
23
字号
%牛顿法极小化函数的通用子函数zuisu.m
%输入变量为初始的迭代点,输出变量为极小值点
function x0=newton(x)
 %判断梯度范数是否满足计算精度的要求.是,标志变量设为1,输出结果;否,标志变量设为0,继续迭代
if sum(abs(tidu(x)).^2)<1e-4
    flag=1;
    x0=x;
else 
    flag=0;
end
%循环求解函数的极小点
while flag==0
      d=-inv(hesse(x))*tidu(x)';
      a=gold(x,d);
      x=x+a*d';
      %判断梯度范数是否满足计算精度的要求.是,标志变量设为1,输出结果;否,标志变量设为0,继续迭代
      if sum(abs(tidu(x)).^2)<1e-4
         flag=1;
         x0=x;
     else 
         flag=0;
     end
 end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?