Hello UQWorld,

I feel I have a very simple question, but I must be missing something as I cannot solve my issue using the user manuals, or example codes.

I am looking to perform a Sobol’ analysis using Monte Carlo on a high-dimensional, Matlab-based model. This model is called using a Wrapper function, which has various parameter types, including lists and strings of the form:

function [answer] = runModel( list_1 , rvVector, list_2, switch)

List 1 and 2 are just for configuring the runs and are to be kept constant throughout the analysis. I have these defined above the analysis code.

The rvVector is essentially the X vector of 49 random variables, which is to change every run of the analysis. I would like this to be the INPUT object, however I am unsure how to pass the Input object as the rvVector into the wrapper function for the actual analysis. I have copied the format of my code below:

%% 1 - INITIALIZE UQLAB

clearvars

rng(100,‘twister’)

uqlab

%% 2 - COMPUTATIONAL MODEL

fid = fopen(‘list_1.txt’);

scannedText = textscan(fid,’%s’);

list_1 = scannedText{1,1};

fclose(fid);

list_2 = ’ entry 1, entry 2, entry 3 ';

switch = ‘on’;

ModelOpts.mFile = ‘runModel’;

ModelOpts.isVectorized = false;

ModelOpts.Parameters = [list_1 list_2 switch];

myModel = uq_createModel(ModelOpts);

%% 3 - PROBABILISTIC INPUT MODEL

for i = 1:49

InputOpts.Marginals(i).Type = ‘Uniform’;

InputOpts.Marginals(i).Parameters = [0 1];

end

myInput = uq_createInput(InputOpts);

%% 4 - VALIDATION OF MODEL AT SAMPLE POINTS

rvVector = uq_getSample(10,‘LHS’);

for ii = 1:size(rvVector,1);

Y = uq_evalModel(myModel,rvVector(ii,:));

end

I get an error performing the model evaluation in this last line:

Error in uq_evalModel

Any help would be greatly appreciated!