matlab编写weibull分布
时间: 2024-10-05 10:04:45 浏览: 46
在MATLAB中,Weibull分布是一种连续概率分布函数,常用于描述寿命数据或某些现象随时间衰减的行为。要生成Weibull分布的数据,可以使用`weibullrnd`函数。以下是一个简单的例子:
```matlab
% 定义Weibull分布的基本参数:形状参数k和尺度参数lambda
k = 2; % 形状参数
lambda = 5; % 规模参数
% 生成指定大小的随机样本
n_samples = 100; % 想要生成的样本数量
x = weibullrnd(k, lambda, [1, n_samples]); % 随机数
% 绘制Weibull分布的概率密度函数(PDF)
figure;
plot(x, pdf(x, k, lambda), 'r', 'LineWidth', 2);
xlabel('X');
ylabel('PDF(x)');
title(['Weibull Distribution with shape parameter k = ', num2str(k), ' and scale parameter lambda = ', num2str(lambda)]);
% 计算并显示累积分布函数(CDF)
[~, cdf_values] = ecdf(x);
hold on;
plot(x, cdf_values, 'g--', 'LineWidth', 2);
legend('PDF', 'CDF');
hold off;
% 输出一些统计信息
disp(['Mean: ', num2str(mean(x))]);
disp(['Median: ', num2str(median(x))]);
disp(['Mode: ', num2--string(mode(x))]);
%
阅读全文