numdiff.m

来自「这是一个很适合研究和学习用的电力系统仿真软件」· M 代码 · 共 29 行

M
29
字号
function numdiff(a,ffn,xa,Va,anga)

global NLA Settings DAE 

if ~a.n, return, end

% B matrix using numerical differentiation

fm_nrlf(Settings.lfmit,Settings.lftol,0);

incY = 0; 

for j = 1:a.n

  deltaU = max(NLA.tol,abs(NLA.tol*a.Vref(j)));
  old = a.Vref(j);
  a.Vref(j) = a.Vref(j)+deltaU;
  % update algebraic variables
  fm_nrlf(Settings.lfmit,Settings.lftol,0);
  a = fcall(a);
  ff = DAE.f;
  NLA.b_svc(:,j)=(ff-ffn)./deltaU;
  DAE.x = xa;
  DAE.a = anga;
  DAE.V = Va;   
  a.Vref(j) = old;
  
end

⌨️ 快捷键说明

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