jacdif.m

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

M
18
字号
function JAC = jacdif(userfun,x,params)
%Call: JAC = jacdif('userfun',x,params)
%Use forward differences to compute the Jacobian
%of a user defined vector function 'userfun' that
%is invoked by [f Dummy]=userfun(x,0)
%This version is very simple in that it uses the same
%tolerance sqrt(eps) as the difference.
%
d=sqrt(eps);
n=max(size(x));
[f Dummy]=feval(userfun,x,0,params{:});
for j=1:n
    temp=x(j);
    x(j)=temp+d;
    [fd Dummy]=feval(userfun,x,0,params{:});
    JAC(:,j)=(fd-f)/d;
    x(j)=temp;
end

⌨️ 快捷键说明

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