有一個矩陣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