用lambda'3生成指数分布

时间:2016-05-30 15:44:51

标签: matlab exponential-distribution

我有一项任务,现在对指数分布感到困惑。该指令说“服务时间呈指数分布,强度为lambda=3”。首先我认为生成这个只是exp(3),但是使用Matlab我想知道这是否正确解释了文本。也许我应该使用exprnd(3)代替?

1 个答案:

答案 0 :(得分:0)

如果服务时间分布S以λ= 3的速率呈指数分布,则平均服务时间为1/3。

您会看到Exponential distribution经常由lambda速率参数化,但是MATLAB使用平均值。您可以看到MATLAB的参数化here in the documentation

要生成服务时间,可以直接使用exprnd或使用inverse transform进行指数分布。

N = 4000;
lambda = 3;   % Rate  Note: AvgSvcTime = 1 / lambda

SvcTimes = exprnd(1/lambda,N,1);  % Approach 1

U = rand(N,1);                    % U ~ Uniform(0,1)
SvcTimes2 = -(1/lambda)*log(1-U); % Approach 2 with Inverse Transform

Theoretical vs Empirical PDF

注意:您可以将1-U替换为U,因为它们的分布相等。