function [x0,ul,ub]=generateInitialValues(valueGeneratorSettings)
%initial settings
        nvar=size(valueGeneratorSettings,2);
        
        x0=zeros(1,nvar);
        ul=zeros(1,nvar);
        ub=zeros(1,nvar);
        for ivar=1:nvar
            t=valueGeneratorSettings(ivar).type;
            p=valueGeneratorSettings(ivar).parameters;
            u=valueGeneratorSettings(ivar).u;
            if strcmp(t,'gaus')
                x0(ivar)=normrnd(p(1),p(2));
            end
            if strcmp(t,'loggaus')
                x0(ivar)=power(10,normrnd(p(1),p(2)));
            end
            if strcmp(t,'poisson')
                x0(ivar)=poissrnd(p(1));
            end
            if strcmp(t,'flat')
                x0(ivar)=p(1)+(p(2)-p(1))*rand;
            end
            if strcmp(t,'const')
                x0(ivar)=p(1);
            end
            
            
            ul(ivar)=u(1);
            ub(ivar)=u(2);
        
        end
        
end
