可以使用 Matlab 中的 randn 函数生成均值为 0,方差为 1 的标准正态分布随机数,然后通过线性变换将其转化为均值相同,方差不同的随机数。

下面是一段 Matlab 代码示例,生成均值为 10,方差分别为 1、4、9 的一列随机数:

% 设定随机数种子
rng(123);

% 生成标准正态分布随机数
x = randn(1000, 1);

% 线性变换,转化为均值为 10,方差分别为 1、4、9 的随机数
y1 = x + 10;
y2 = 2*x + 10;
y3 = 3*x + 10;

% 绘制直方图
subplot(2,2,1);
histogram(x);
title('标准正态分布随机数');

subplot(2,2,2);
histogram(y1);
title('均值为 10,方差为 1 的随机数');

subplot(2,2,3);
histogram(y2);
title('均值为 10,方差为 4 的随机数');

subplot(2,2,4);
histogram(y3);
title('均值为 10,方差为 9 的随机数');

运行上述代码,会生成一个包含四张直方图的图像。其中,第一张图为标准正态分布随机数的直方图,后面三张图分别为均值为 10,方差分别为 1、4、9 的随机数的直方图。可以看到,它们的均值都为 10,但方差不同,符合我们的要求。

Matlab 生成均值相同方差不同的随机数

原文地址: https://www.cveoy.top/t/topic/niBg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录