How to analyze the sensitivity of the parameters which are the input of a third-party software?

I met problems when I run sensitivity analysis with UQlab, the error states that the software return NaN in the corresponding output.
The process of the program which needs to be analyzed is as below:

1.There is an input file called ‘bloodpressure.inp’ to store the five coefficients of the ‘main’ program.
2.The ‘main’ function begins with going through a ‘Simulink’ circuit and then through a series of processes(covered in the main function) to calculate the results.
3.Finally the result is saved as two numbers(double) into the file called ‘bloodpressure.out’.
The aim is to analyze the sensitivity between the five coefficients and the two numbers.

The problem that I met here when doing sensitivity analysis is the error 'Third party software returned an error for run: Returning NaN in the corresponding output '.
The code that I written to do a sensitivity analysis is shown blow:


modelopts.Type = ‘UQLink’ ;

modelopts.Command = ‘bloodpressure.inp’ ;

modelopts.Template = ‘bloodpressure.inp.tpl’ ;

modelopts.Output.Parser = ‘uq_readOutput’ ;

modelopts.Output.FileName = ‘bloodpressure.out’ ;

myModel = uq_createModel(modelopts) ;


Please let me know what statements should I add?

Hi @Jeremie ,

Sorry for the late reply. Have you managed to solve your problem? If yes, how?

If not: the problem is most likely in your model or your UQLink implementation, not in the sensitivity analysis.

  • Make sure the input is defined correctly, and the sensitivity analysis uses the right input (often, you can set it explicitly with sopts.Input = myInput or something similar.
  • Is it possible to evaluate your model for every value of the input space you defined?
  • For which of the input values does your software return NaN? Can you run the UQLink model outside of the sensitivity analysis with those values? If not, what is the error message?

Looking forward to hear how you solved your problem. :slight_smile: