Ссылаясь на вики-страницу для распределения Weibull, можно напрямую вычислить их для этого распределения. См. вики для формул.
k = 1; % shape parameter
lambda = 2; % scale parameter
Wmeanh =@(k,lambda) lambda*gamma(1 + (1/k)); % Mean
Wvarh =@(k,lambda) (lambda^2)*(gamma(1+(2/k)) - (gamma(1+(1/k)))^2); % Variance
Теперь, чтобы проверить эти анонимные функции на наших параметрах...
>> Wmeanh(k,lambda)
ans =
2
>> Wvarh(k,lambda)
ans =
4
И мы можем проверить правильность наших формул и показать, что наши ответы совпадают.
% Test against alternate method
pd = makedist('Weibull',lambda,k)
mean(pd)
var(pd)
Ниже мы генерируем выборки из этого распределения с разными размерами выборки и собираем выборочное среднее и выборочную дисперсию. Это демонстрирует, как получить это из выборки и что наши предыдущие расчеты кажутся правильными.
N = [10 30 90 270 810 2430 7290]';
SampleMEAN = zeros(size(N));
SampleVAR = zeros(size(N));
for i = 1:length(N)
ni = N(i);
Xi = random(pd,ni,1);
SampleMEAN(i) = mean(Xi);
SampleVAR(i) = var(Xi);
end
T = table(N,SampleMEAN,SampleVAR)
person
SecretAgentMan
schedule
13.11.2018
mean(sample(:))
иvar(sample(:))
. Вы можете удалить(:)
, еслиsample
уже является вектором (1D-массивом). - person Luis Mendo   schedule 04.04.2014