matlab画直方图并拟合泊松分布,用泊松函数拟合直方图
时间: 2023-12-16 12:00:56 浏览: 54
可以按照以下步骤使用 MATLAB 画直方图并拟合泊松分布:
1. 生成泊松分布的数据
可以使用 MATLAB 自带的 `poissrnd` 函数生成泊松分布的数据,例如:
```
lambda = 5; % 泊松分布的参数
data = poissrnd(lambda, 1000, 1); % 生成1000个数据
```
2. 画直方图
可以使用 MATLAB 自带的 `histogram` 函数画直方图,例如:
```
histogram(data, 'Normalization', 'probability');
```
其中,`Normalization` 参数设置为 `'probability'` 可以将直方图的纵坐标转换为概率密度。
3. 拟合泊松分布
可以使用 MATLAB 自带的 `fitdist` 函数拟合泊松分布,例如:
```
pd = fitdist(data, 'Poisson');
```
其中,`pd` 是一个 `ProbDistUnivParam` 类型的对象,表示拟合后的泊松分布。可以使用 `pdf` 方法计算该分布的概率密度函数,例如:
```
x = 0:20; % 横坐标
y = pdf(pd, x); % 计算泊松分布在横坐标上的概率密度
hold on;
plot(x, y, 'r-', 'LineWidth', 2); % 画出拟合曲线
hold off;
```
完整的代码示例:
```
lambda = 5; % 泊松分布的参数
data = poissrnd(lambda, 1000, 1); % 生成1000个数据
histogram(data, 'Normalization', 'probability');
pd = fitdist(data, 'Poisson');
x = 0:20; % 横坐标
y = pdf(pd, x); % 计算泊松分布在横坐标上的概率密度
hold on;
plot(x, y, 'r-', 'LineWidth', 2); % 画出拟合曲线
hold off;
```
运行后可以得到类似以下的直方图和拟合曲线:
![泊松分布直方图和拟合曲线](https://i.imgur.com/5jyFuvx.png)