newtontype.m

来自「使用惩罚函数法对机械设计中的问题进行优化处理」· M 代码 · 共 21 行

M
21
字号
function [xbest,ymin]=newtontype(x0,r)
e=0.1;
syms a;
xk=x0;
h=punishhessian(x0,xk,r);
dk=-inv(h)*punish1(x0,xk,r);
xk1=xk+a*dk;
amin=trying(x0,xk1,a,r);
xk1=xk+amin*dk;
x=xk1-xk;
while(sqrt(x'*x)>=e)
    xk=xk1    
    h=punishhessian(x0,xk,r);
    dk=-inv(h)*punish1(x0,xk,r);
    xk1=xk+a*dk;
    amin=trying(x0,xk1,a,r)
    xk1=xk+amin*dk;
    x=xk1-xk;
end
xbest=xk1;
ymin=punish(x0,xbest,r);

⌨️ 快捷键说明

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