Генерация числа из кусочно-экспоненциального распределения
Я хотел бы сгенерировать случайное число из кусочно-экспоненциального распределения, которое имеет разные уровни риска в разные промежутки времени.
Я понял, что можно применить свойство без памяти стандартного экспоненциального распределения.
Кто-нибудь знает, правильный ли следующий код для этой цели? В частности, вектор "S" содержит верхние границы интервалов, связанных с соответствующими уровнями опасности (содержится в векторе "лямбда").
function rand_PEXP=rand_PEXP(S,lambda)
for j=1:numel(S)
x=exprnd(lambda(j));
if j==1 && x<S(j)
rand_PEXP=x;
break
elseif x<S(j)
rand_PEXP=x+S(j-1);
break
end
end
Я надеюсь, что вопрос ясен.