to prepare myself to implement to perform a Bayesian Inversion with many models, I have done some extensive testing and modifications of the examples and it seems to me that the effect of using PMap in the documentation and in the implementation seem to differ: Using
forwardModels(2).PMap = [1 2 3 4 6]
as in the example file “uq_Example_Inversion_05_MultipleModels.m” should imply (according to my understanding of the documentation and of comments in the example files) that during the Bayesian Inversion Analysis performed by calling uq_createAnalysis the function in the model is evaluated with
samples for the random variables 1,2,3,4 and 6 that are collected in a vector with 5 components.
Hence, the functions in the 2nd model in the example file is originally defined by
ModelOpts2.mString = ‘X(:,5).*X(:,3)./(X(:,1).*X(:,2).*X(:,4))’;
But, transforming this definition into a function in a file and using the
matlab debugger, I observed that the input for this function is a vector with 6 components and that the component no. 5 is always equal to 0.
Hence, it seems to me that the effect of the above definition for PMap
seems to be that samples are drawn for the random variables
1,2,3,4 and 6 and are placed in the components 1,2,3,4 and 6 of the vector that
is used as the input data for the function in the model definition and that the component no 5 in this vector is equal to 0.