【问题标题】:Matlab: how to generate large number of samplesMatlab:如何生成大量样本
【发布时间】:2013-11-13 22:04:20
【问题描述】:
x = 10*rand(1,1e6);

n=100;
z = ((sum(x(1:n))-n*5)/std(x)*sqrt(n))*ones(1,1e6);


figure;
cdfplot(z)

所以,对于向量“z”,当“x”被定义为 0 到 10 之间的数字集时,我想要每个不同数量的 10,000 个样本。但是,如果我实现我的代码,我只能获得 10,000 个相同的样本对于“z”。如何创建 10,000 个不同的样本?

【问题讨论】:

  • 请描述您想要实现的内容。代码很奇怪。 n=1,因此x(1:n)x(1)sum 没有用,因为它只有一个输入元素。

标签: matlab


【解决方案1】:

您的等式是x 减去 500 的总和,除以 x 的标准偏差乘以 10,得到一个标量,然后乘以一个向量。这将为您提供重复一百万次的相同数字。

您的问题很不清楚,所以我不确定您希望这段代码做什么,但是如果您想使用 0 到 10 之间的 10,000 个值来计算 z 的每个元素,那么您将计算一百万总共随机数,那么我认为这就是您想要的:

x=10*rand(1e4,100);

n=100;
z=(sum(x)-5*n)./std(x)*sqrt(n);

cdfplot(z)

【讨论】:

  • 谢谢!这是我想要的正确答案!抱歉我的问题不清楚,因为英语不是我的第一语言,所以我很难清楚地描述。
猜你喜欢
  • 1970-01-01
  • 2017-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多