gpt4 book ai didi

matlab - 生成具有相同 std 和 mean 的新列表

转载 作者:行者123 更新时间:2023-12-02 02:26:34 26 4
gpt4 key购买 nike

如何从与原始列表具有相同均值和标准差的随机数生成新列表?

我试过 newlist = mean(list) + std(list)*randn(100,1);这是我在 Matlab 网站上找到的,但它生成的标准差和均值与原来的略有不同,因为新的均值总是更大。

最佳答案

诀窍是生成均值为 0 且标准差为 1 的随机数。我们通过生成任何旧的随机数,然后固定均值和标准差来实现这一点。

% generate your random numbers
r = randn(100, 1);

% scale the variance
r2 = r / std(r);

% shift the mean
r3 = r2 - mean(r2);

%check your answer
abs(mean(r3)) < sqrt(eps)
abs(std(r3) - 1) < sqrt(eps)

现在 newlist = mean(list) + std(list) * r3 应该可以满足您的需求。

关于matlab - 生成具有相同 std 和 mean 的新列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5676762/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com