1 
# Copyright (C) 2003,2004 Michael Creel <michael.creel@uab.es>

1 
## Copyright (C) 2003, 2004 Michael Creel <michael.creel@uab.es>

2 
#

2 
##

3 
# This program is free software; you can redistribute it and/or modify

3 
## This program is free software; you can redistribute it and/or modify it under

4 
# it under the terms of the GNU General Public License as published by

4 
## the terms of the GNU General Public License as published by the Free Software

5 
# the Free Software Foundation; either version 2 of the License, or

5 
## Foundation; either version 3 of the License, or (at your option) any later

6 
# (at your option) any later version.

6 
## version.

7 
#

7 
##

8 
# This program is distributed in the hope that it will be useful,

8 
## This program is distributed in the hope that it will be useful, but WITHOUT

9 
# but WITHOUT ANY WARRANTY; without even the implied warranty of

9 
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or

10 
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

10 
## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more

11 
# GNU General Public License for more details.

11 
## details.

12 
#

12 
##

13 
# You should have received a copy of the GNU General Public License

13 
## You should have received a copy of the GNU General Public License along with

14 
# along with this program; If not, see <http://www.gnu.org/licenses/>.

14 
## this program; if not, see <http://www.gnu.org/licenses/>.

15 

15 

16 
# Computes Delta method mean and covariance of a nonlinear

16 
## Computes Delta method mean and covariance of a nonlinear

17 
# transformation defined by "func"

17 
## transformation defined by "func"



18 

18 
function [theta_transf, var_transf] = delta_method(func, theta, otherargs, vartheta)

19 
function [theta_transf, var_transf] = delta_method(func, theta, otherargs, vartheta)

19 
theta_transf = feval(func, theta, otherargs);

20 
theta_transf = feval(func, theta, otherargs);

20 
D = numgradient(func, {theta, otherargs});

21 
D = numgradient(func, {theta, otherargs});

21 
var_transf = D * vartheta * D';

22 
var_transf = D * vartheta * D';

22 

23 
