.. _api-mcmc-goodman_weare:
.. role:: raw-html(raw)
:format: html
mcmc.goodman_weare
==================
Usage
-----
.. code-block::
obj = mcmc;
xPosterior = obj.goodman_weare(y,x0,weights,fitting,modelFWD,varargin)
I/O overview
------------
+---------------------------+--------------------------------------------------------------------------------------------------------------+
| Input | Description |
+===========================+==============================================================================================================+
| y | measurements, [Nmeas, Nvoxels] |
+---------------------------+--------------------------------------------------------------------------------------------------------------+
| x0 | structure variable containing starting points of all model parameters to be estimated |
+---------------------------+--------------------------------------------------------------------------------------------------------------+
| weights | N-D wieghts, same dimension as 'data' (optional) |
+---------------------------+--------------------------------------------------------------------------------------------------------------+
| fitting | structure contains fitting algorithm parameters |
+---------------------------+--------------------------------------------------------------------------------------------------------------+
| fitting.model_params | 1xM cell variable, name of the model parameters, e.g. {'S0','R2star','noise'}; |
+---------------------------+--------------------------------------------------------------------------------------------------------------+
| fitting.lb | 1xM numeric variable, fitting lower bound, same order as field 'model_params', e.g. [0.5, 0, 0.001]; |
+---------------------------+--------------------------------------------------------------------------------------------------------------+
| fitting.ub | 1xM numeric variable, fitting upper bound, same order as field 'model_params', e.g. [2, 1, 0.1]; |
+---------------------------+--------------------------------------------------------------------------------------------------------------+
| fitting.iteration | # MCMC iterations |
+---------------------------+--------------------------------------------------------------------------------------------------------------+
| fitting.repetition | # repetition of MCMC proposal |
+---------------------------+--------------------------------------------------------------------------------------------------------------+
| fitting.thinning | sampling interval between iterations |
+---------------------------+--------------------------------------------------------------------------------------------------------------+
| fitting.burnin | iterations to be discarded at the beginning, if >1, the exact number will be used; else iteration*burnin |
+---------------------------+--------------------------------------------------------------------------------------------------------------+
| fitting.StepSize | step size for 'GW' in MCMC proposal ('GW' only) |
+---------------------------+--------------------------------------------------------------------------------------------------------------+
| fitting.Nwalker | # random walkers ('GW' only) |
+---------------------------+--------------------------------------------------------------------------------------------------------------+
| FWDfunc | function handle for forward signal generation; size of the output must match size of 'data' |
+---------------------------+--------------------------------------------------------------------------------------------------------------+
| varargin | additional input for FWDfunc other than 'parameter' and 'mask' (same order as FWDfunc) |
+---------------------------+--------------------------------------------------------------------------------------------------------------+
+-----------------------------------+--------------------------------------------------------------------------------------------------------------+
| Output | Description |
+===================================+==============================================================================================================+
| xPosterior | structure contains MCMC posterior samples |
+-----------------------------------+--------------------------------------------------------------------------------------------------------------+
| xPosterior.(model_params{k}) | Model parameter MCMC posterior samples |
+-----------------------------------+--------------------------------------------------------------------------------------------------------------+
.. note::
'noise' is always required in fitting.model_params.
See also :ref:`gettingstarted-mcmc_affineinvariantensemble_tutorial`.