产生自由度为 2,数学期望为 4,方差为 12 的非中心 χ2 分布随机变量的样本 10000 个,并画出直方图,给出matlab仿真代码
时间: 2024-11-30 11:29:36 浏览: 23
在MATLAB中,可以使用`chi2rnd`函数生成非中心χ²分布的随机变量,然后通过`histogram`绘制直方图。假设我们想要生成自由度为2、数学期望为4、方差为12的非中心χ²分布的10000个样本,以下是相应的代码:
```matlab
% 设置随机数种子以保证结果复现(可选)
rng('default');
% 定义自由度、均值和方差
df = 2; % 自由度
mean_val = 4; % 数学期望
variance = 12; % 方差
% 使用chi2rnd函数生成样本
samples = chi2rnd(df, 10000); % 非中心χ²分布
% 计算理论概率密度函数
pdf = pdf(chi2dist(samples, df), samples);
% 绘制直方图
figure;
histogram(samples, 'Normalization', 'probability', 'FaceColor', 'k'); % 直方图,概率标准化
hold on;
x = linspace(min(samples), max(samples), 100);
y = pdf(x); % 理论PDF
plot(x, y, 'LineWidth', 2, 'Color', 'r'); % 绘制理论PDF线
xlabel('样本值');
ylabel('概率密度');
title(['自由度为 ', num2str(df), ', 均值为 ', num2str(mean_val), ', 方差为 ', num2str(variance)]);
legend('样本直方图', '理论PDF');
% 清除多余图形
hold off;
```
运行上述代码后,会生成一个直方图显示10000个非中心χ²(2)分布的样本分布,以及对应的理论概率密度曲线。注意,如果你没有安装绘图工具箱,`histogram`可能会提示错误,此时需要先安装或激活绘图工具箱。
阅读全文