有一个矩阵X
,其大小为400×1000。我想收集L = 10个样本,每个样本的大小均为M = 500,不需要从X
的统一分布中取代。如何通过使用Matlab来实现它?任何人都可以给我一个帮助?如何在Matlab中实现这一点?
-3
A
回答
1
最简单的方法是使用统计工具箱中的randsample
。这使您可以从人口/数据中随机抽取样本而无需更换。然而,randsample
需要一个向量,但你想从矩阵中抽样。从上下文来看,这个矩阵中的每个元素都可能被选择,所以如果我们简单地将矩阵转换成一个向量,并且从这个向量中抽样,你应该得到相同的结果。
如果您想要10个500长度的样本,您可以调用randsample
一次,并从矩阵中获取5000个样本,并将其重新组合为10 x 500矩阵,其中每行代表一个500个元素样本,或者循环调用10次并在每次调用时连接结果。
所以,你可以这样做:
Y = randsample(X(:), 5000);
Y = reshape(Y, 10, 500);
上面的代码生成5000×1向量,我们重塑成一个10×500矩阵。
或者,你可以这样做:
Y = [];
for idx = 1 : 10
Y = [Y randsample(X(:), 500)];
end
Y = Y.';
randsample
产生在每次调用一个500×1矢量,所以我们会叠加这些列向量水平,然后转的结果,所以我们得到一个10×500矩阵。
但是,如果你没有做randsample
,您可以使用randperm
生成的数字从1到400 x 1000
随机排列,然后从该置换5000元。然后,您可以索引X
以获取最终矩阵。例如:
idx = randperm(400*1000, 5000);
Y = reshape(X(idx), 10, 500);
+0
非常感谢你! – user3761566 2015-02-24 21:19:36
相关问题
- 1. 如何在Android中实现这一点?
- 2. 如何在Java中实现这一点?
- 3. 如何在Emacs中实现这一点?
- 4. 如何在Apache中实现这一点?
- 5. 如何在iOS中实现这一点?
- 6. 如何在UIScrollView中实现这一点?
- 7. 如何在Android中实现这一点?
- 8. 如何用vim cindent实现这一点?
- 9. 如何用CSS实现这一点?
- 10. 如何实现这一效果:焦点
- 11. 如何实现在MATLAB
- 12. 如何实现在MATLAB
- 13. 我们如何在Apache Kafka中实现这一点
- 14. 我将如何在drupal中实现这一点
- 15. 我如何在Kendo MVC Grid中实现这一点?
- 16. 如何在数据库中实现这一点?
- 17. 如何在MVC中使用Knockout来实现这一点?
- 18. 如何在.net url路由中实现这一点?
- 19. 如何在xml架构中实现这一点?
- 20. 如何在改造中实现这一点?
- 21. 如何在T-SQL中实现这一点?
- 22. 你如何在休息服务中实现这一点?
- 23. 如何在销售人员中实现这一点
- 24. 我如何在Folium中实现这一点?
- 25. 我如何在Android TextView中实现这一点?
- 26. 如何在ssrs矩阵报告中实现这一点
- 27. 我如何在c中实现这一点#
- 28. 如何在C中实现这个Matlab代码?
- 29. 如何在mupad中实现这个功能(MATLAB)
- 30. 如何在MATLAB中实现这个功能?
为什么要扣1分? – user3761566 2015-02-24 01:29:32
我不知道,但我可以想象它会因为你没有包含[mcve](http://stackoverflow.com/help/mcve)。你的问题没有很好的定义。 – kkuilla 2015-02-24 09:21:23