You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: performDRAM.m
    path of file: ./repos/PESTO/private
    
    the code of the file until where you have to start completion: function res = performDRAM( logPostHandle, par, opt )
   
   % performDRAM.m uses an Delayed Rejection Adaptive Metropolis algorithm to sample from an objective function
   % 'logPostHandle' by using the DRAM library routine tooparameters.minox.
   % It provides the interface to the MATLAB tooparameters.minox for
   % delayed rejection adaptive metropolis sampling developed by
   % H. Haario et al. (2006), DRAM: Efficient adaptive MCMC,
   % Stat. Comp., 4(16):339-354.
   %
   % The options 'opt' cover:

    
function res = performDRAM( logPostHandle, par, opt )
   
   % performDRAM.m uses an Delayed Rejection Adaptive Metropolis algorithm to sample from an objective function
   % 'logPostHandle' by using the DRAM library routine tooparameters.minox.
   % It provides the interface to the MATLAB tooparameters.minox for
   % delayed rejection adaptive metropolis sampling developed by
   % H. Haario et al. (2006), DRAM: Efficient adaptive MCMC,
   % Stat. Comp., 4(16):339-354.
   %
   % The options 'opt' cover:
   % opt.theta0                  : The inital parameter points for each of the
   %                               tempered chains
   % opt.sigma0                  : The inital proposal covariance matrix of
   %                               the parameters
   % par.min and par.max         : The lower and upper bounds for the
   %                               parameters. Proposed points outside this
   %                               area are getting rejected
   % par.number                  : Number of parameters
   % opt.nIterations             : Number of desired sampling iterations
   % opt.DRAM.regFactor          : This factor is used for regularization in
   %                               cases where the single-chain proposal
   %                               covariance matrices are ill conditioned.
   %                               Larger values equal stronger
   %                               regularization.
   % opt.DRAM.nTry               : The number of tries in the delayed
   %                               rejection scheme
   % opt.DRAM.verbosityMode      : Defines the level of verbosity 'silent', 'visual',
   %                               'debug' or 'text'
   % opt.DRAM.adaptionInterval   : Updates the proposal density only every opt.DRAM.adaptionInterval
   %                               time
   %
   %
   % It returns a struct 'res' covering:
   % res.par               : The Markov chain of the parameters for each temperature
   % res.logPost           : The objective value corresponding to parameter
   %                         vector for each temperature
   %
   %
   % Written by Benjamin Ballnus 2/2017
   
   
   % Initialization
   nPar = par.number;
   
   dramOptions.adaptint    = opt.DRAM.adaptionInterval;
   dramOptions.method      = 'dram';
   dramOptions.nsimu       = opt.nIterations;
   dramOptions.ntry        = opt.DRAM.nTry;
   dramOptions.printint    = 0;
   dramOptions.qcov        = opt.sigma0;
   dramOptions.stats       = 0;
   dramOptions.updatesigma = 0;
   dramOptions.waitbar     = 0;
   dramOptions.qcov_adjust = opt.DRAM.regFactor;
   dramOptions.initqcovn   = 1;
   
   % Build the interface
   params = {};
   for i = 1:nPar
      params{i} = {['Parameter ' num2str(i)],...
         opt.theta0(i),...
         par.min(i),...
         par.max(i)};
   end