二项分布的可视化动图MATLAB代码
时间: 2024-09-19 15:10:58 浏览: 43
傅里叶变换动图matlab代码-csm1-kaderlars:GitHubClassroom创建的csm1-kaderlars
二项分布通常用于描述一系列独立的伯努利试验结果,比如实验成功的次数。在MATLAB中,你可以通过绘制定义好的概率密度函数(PDF)和累积分布函数(CDF),并结合随机数生成来创建一个动态可视化的二项分布。
以下是一个简单的示例代码:
```matlab
% 定义参数:n = 总试验次数,p = 单次成功概率
n = 10; % 例如10次独立抛硬币
p = 0.5; % 每次试验的成功概率
% 创建二项分布的x轴范围(从0到n)
x = 0:n;
% 计算二项分布的概率密度和累积分布
pdf_val = binodist(x, n, p); % PDF值
cdf_val = cdfbinom(x, n, p); % CDF值
% 绘制PDF和CDF图形
figure;
hold on;
plot(x, pdf_val, 'r', 'LineWidth', 2, 'DisplayName', 'PDF');
plot(x, cdf_val, 'b', 'LineWidth', 2, 'DisplayName', 'CDF');
xlabel('试验成功的次数');
ylabel('概率');
title(['二项分布 (n=' num2str(n) ', p=' num2str(p) ')']);
legend;
hold off;
% 动态演示
for i = 1:100
% 生成一个随机样本
randsample_idx = randsample(x, 1, true, pdf_val);
% 更新PDF/CDF数据点
pdf_val(randsample_idx) = [];
cdf_val(randsample_idx) = cdf_val(randsample_idx) + pdf_val(randsample_idx);
% 渲染图形
plot(x, pdf_val, 'r', 'LineWidth', 2);
plot(x, cdf_val, 'b', 'LineWidth', 2);
drawnow; % 实时更新图表
end
```
这段代码首先计算了给定二项分布的理论PDF和CDF值,然后动态地展示了随着每次随机抽取一个成功的次数,分布是如何变化的。
阅读全文