ftstiff.m

来自「matlab算法集 matlab算法集」· M 代码 · 共 27 行

M
27
字号
function dfdt = ftstiff (t,x,f)
%---------------------------------------------------------------------- 
% Usage:       dfdt = ftstiff (t,x,f)
%
% Description: Estimate df(t,x)/dt numerically using central differences.
%              Return the result in the n by 1 vector dfdt. 
%
% Inputs:      t = time
%              x = n by 1 state vector 
%              f = string containing name of function whose 
%                  derivatives are to be estimated.
%
% Outputs:     dfdt = n by 1 vector containing derivatives,
%                     dfdt(k) = df(k)/dt. 
%---------------------------------------------------------------------- 

   chkvec (x,2,'ftstiff');
   chkfun (feval(f,t,x),3,'ftstiff');
   n = length(x);
   y = zeros (n,1);
   dt = eps^(1/3);
   dfdt = feval(f,t+dt,x);
   y    = feval(f,t-dt,x);
   for i = 1 : n
      dfdt(i) = (dfdt(i) - y(i))/(2*dt);
   end

⌨️ 快捷键说明

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