X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=CreaPhase.git;a=blobdiff_plain;f=octave_packages%2Feconometrics-1.0.8%2Fnls_obj_nodes.m;fp=octave_packages%2Feconometrics-1.0.8%2Fnls_obj_nodes.m;h=5733b701d222204c156adb9665a2875b13abeb99;hp=0000000000000000000000000000000000000000;hb=f5f7a74bd8a4900f0b797da6783be80e11a68d86;hpb=1705066eceaaea976f010f669ce8e972f3734b05 diff --git a/octave_packages/econometrics-1.0.8/nls_obj_nodes.m b/octave_packages/econometrics-1.0.8/nls_obj_nodes.m new file mode 100644 index 0000000..5733b70 --- /dev/null +++ b/octave_packages/econometrics-1.0.8/nls_obj_nodes.m @@ -0,0 +1,36 @@ +# Copyright (C) 2005 Michael Creel +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; If not, see . + +# This is for internal use by nls_estimate + + +function contrib = nls_obj_nodes(theta, data, model, modelargs, nn) + global NEWORLD NSLAVES + # Who am I? + [info, rank] = MPI_Comm_rank(NEWORLD); + + if rank == 0 # Do this if I'm master + startblock = NSLAVES*nn + 1; + endblock = rows(data); + else # this is for the slaves + startblock = rank*nn-nn+1; + endblock = rank*nn; + endif + + data = data(startblock:endblock,:); + contrib = feval(model, theta, data, modelargs); + contrib = sum(contrib); + +endfunction