qncostderiv.m
来自「加权总体最小二乘matlab工具箱」· M 代码 · 共 35 行
M
35 行
% QNCOSTDERIV - WTLS cost function and first derivative% evaluation for the function FMINUNC.function [M,dM] = qncostderiv(x,d,v,m)% constants[sd,N] = size(d);p = sd - m;m1 = m + 1;deriv = (nargout == 2);if size(v,3) == 1 c = 1;else c = 2;ende = x' * d(1:m,:) - d(m1:sd,:); % residualM = 0;dM = zeros(m,p);for i = 1:N ei = e(:,i); if c == 1 vax = v(1:m,i*ones(1,p)) .* x; yi = ( x' * vax + diag(v(m1:sd,i)) ) \ ei; else vax = v(1:m,1:m,i) * x - v(1:m,m1:sd,i); vbx = v(m1:sd,1:m,i) * x - v(m1:sd,m1:sd,i); yi = ( x' * vax - vbx ) \ ei; end M = M + ei' * yi; if deriv dM = dM + ( d(1:m,i) - vax * yi ) * yi'; end endM = sqrt(M);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?