generateInitialValues.m 971 B

12345678910111213141516171819202122232425262728293031323334
  1. function [x0,ul,ub]=generateInitialValues(valueGeneratorSettings)
  2. %initial settings
  3. nvar=size(valueGeneratorSettings,2);
  4. x0=zeros(1,nvar);
  5. ul=zeros(1,nvar);
  6. ub=zeros(1,nvar);
  7. for ivar=1:nvar
  8. t=valueGeneratorSettings(ivar).type;
  9. p=valueGeneratorSettings(ivar).parameters;
  10. u=valueGeneratorSettings(ivar).u;
  11. if strcmp(t,'gaus')
  12. x0(ivar)=normrnd(p(1),p(2));
  13. end
  14. if strcmp(t,'loggaus')
  15. x0(ivar)=power(10,normrnd(p(1),p(2)));
  16. end
  17. if strcmp(t,'poisson')
  18. x0(ivar)=poissrnd(p(1));
  19. end
  20. if strcmp(t,'flat')
  21. x0(ivar)=p(1)+(p(2)-p(1))*rand;
  22. end
  23. if strcmp(t,'const')
  24. x0(ivar)=p(1);
  25. end
  26. ul(ivar)=u(1);
  27. ub(ivar)=u(2);
  28. end
  29. end