【问题标题】:Generate random data given mean and standard deviation in MATLAB?在MATLAB中生成给定均值和标准差的随机数据?
【发布时间】:2013-01-02 19:24:23
【问题描述】:

我有有限的数据 RV,我可以找到平均 mu 和标准差 sigma。现在我想生成更多保持相同 mu 和 sigma 的数据点。我将如何在 MATLAB 中执行此操作?我做了以下操作,但是当我绘制生成数据(mu_2)的平均值时,它与 mu...

N = 15
R = mean(RV) + std(RV)*randn(N, 1);
mu = mean(RV)*ones(N,1);
mu_2 = mean(R)*ones(N,1);

【问题讨论】:

    标签: matlab random statistics mean


    【解决方案1】:

    我认为你应该使用 normrnd(mu,sigma) 函数 去documentation了解更多详情

    最好的问候

    【讨论】:

      【解决方案2】:

      这看起来是正确的。对于如此小的样本量,您不太可能得到很好的匹配。尝试 更多 更大的 N 值。

      如果您想强制将您的数据集设置为特定的均值和标准差,那么您可以生成一组样本,然后测量它们的均值和标准差,然后通过缩放和标量加法进行调整.

      例如:

      R = randn(N,1);
      
      % Measure
      mu_tmp = mean(R);
      std_tmp = std(R);
      
      % Normalise and denormalise
      R = (R - mu_tmp) / std_tmp;
      R = (R * std_desired) + mu_desired;
      

      【讨论】:

        【解决方案3】:

        您还可以使用 Netlab 库生成高斯混合(免费!)

        mix=gmm(8,3,'spherical');
        [Data, Label]=gmmsamp(mix,1000);
        

        上面生成了一个包含 8 个维度和三个中心(球形)的数据集,超过 1000 个观测值。

        【讨论】:

          猜你喜欢
          • 2021-10-01
          • 1970-01-01
          • 2020-07-30
          • 1970-01-01
          • 1970-01-01
          • 2021-12-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多