Hello,
May I ask a question about how to perform Bayesian inversion in a situation where the measurements are under different load.
In manual ‘BAYESIAN INFERENCE FOR MODEL CALIBRATION AND INVERSE PROBLEMS’. The case study ‘modulus inversion of a beam model’. The number of the experiment is 5, and in each experiment, the load is the same.
%% 2 - FORWARD MODEL (beam)
ModelOpts.mFile = ‘uq_SimplySupportedBeam’;
ModelOpts.isVectorized = true;
myForwardModel = uq_createModel(ModelOpts);
In my case for parameter inversion, the load change with time. The observation data is a vector of N1, and the output of my forward model is a vector of N1 (with N different water load). If I define the output of my forward model as a vector of N1, it can’t work. If only one observation data is used (11),the software can run, but can’t run for the output data of the forward model of (N*1).
I don’t know how to change it to a correct format. Could you help me with it?
MY Case:
%% 2 - FORWARD MODEL (my case)
ModelOpts.mHandle = @(x) uq_disp(x,waterlevel); % calculate the displacement under different water level (the output is N*1)
ModelOpts.isVectorized = true;
myForwardModel = uq_createModel(ModelOpts);
%% 3 - PRIOR DISTRIBUTION OF THE MODEL PARAMETERS
PriorOpts.Marginals(1).Name = ‘E1’; % the elastic modulus
PriorOpts.Marginals(1).Type = ‘Lognormal’;
PriorOpts.Marginals(1).Moments = [30 2];
myPriorDist = uq_createInput(PriorOpts);
%% 4 - MEASUREMENT DATA
myData.y = Data; % the Data is a vector of N*1
Thanks in advance!
Best
Chaoning Lin