matlab 绘制累计直方图
时间: 2024-12-23 16:25:55 浏览: 6
在MATLAB中,绘制累计直方图(Cumulative histogram)可以用于可视化数据分布的变化情况,特别是显示累积概率。以下是步骤:
1. 首先,你需要有一个数值向量,比如`data`,代表你要分析的数据集。
```matlab
data = randn(1000, 1); % 生成一组随机数示例
```
2. 使用`cumhist`函数绘制累计直方图。这个函数会计算数据的累积频率,并返回累积频率数组和累积边界。
```matlab
[edges, CDF] = cumhist(data, 'Frequency'); % 'Frequency'选项表示累积频率而非普通频率
```
3. 你可以使用`bar`或`stairs`函数来展示结果。这里我们用`stairs`因为它是更直观地展示阶梯状的累积值。
```matlab
figure;
stairs(edges, CDF, 'FaceColor', 'b');
xlabel('数据范围');
ylabel('累积频率');
title('累计直方图');
```
4. 如果你想在图表上添加原数据的直方图,可以使用`histogram`函数然后叠加两个图形:
```matlab
h1 = histogram(data, edges);
hold on; % 保持当前图像状态以便叠加上去
stairs(edges, CDF, 'FaceColor', 'g'); % 累积直方图
legend(h1, '原始直方图', '累计直方图', 'Location', 'Best');
hold off; % 结束保持状态
```
阅读全文