newtonuc.m

来自「基于matlab的约束非线性规划算法库」· M 代码 · 共 20 行

M
20
字号
function [pN, flag] = NewtonUC(Abounds,nMnfixed,J,f,X,ffun,params)
%Call: [pN, flag] = NewtonUC(Abounds,nMnfixed,J,f,X,ffun,params)
%Compute pN, the Newton direction for the unconstrained case
%
free = find(Abounds == 0);
B = J'*J;
G = hessianG(ffun,X,f,params);
G = G(free,free);
E = B+G;
b = -J'*f;
[R flag] = chol(E);
if flag ~= 0
    disp('Not pos. def. E in chol')
    flag -1002
    pN = [];
else
    pN = zeros(n);
    DeltaP2 = R\(R'\b);
    pN(free) = DeltaP2;
end

⌨️ 快捷键说明

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