MATLAB'da, her bir sütunu rastgele karıştırmak için shake.m işlevini (http://www.mathworks.com/matlabcentral/fileexchange/10067-shake) kullanıyorum. Örneğin:MATLAB'da bir matrisi rastgele karıştırmanın daha iyi/daha hızlı bir yolu var mı?
a = [1 2 3; 4 5 6; 7 8 9]
a =
1 2 3
4 5 6
7 8 9
b = shake(a)
b =
7 8 6
1 5 9
4 2 3
Bu fonksiyon, istediğim tam olarak ne yapar ancak benim sütunları olan çok uzun (> 10.000.000) ve bu nedenle bu çalıştırmak için uzun zaman alır. Bunu gerçekleştirmenin daha hızlı bir yolu bilen var mı? Her sütun vektörünü ayrı ayrı çalmaya çalıştım ama bu daha hızlı değil. Teşekkürler!
Bu shake işlevine bakıldığında tamamen vectorized görünüyor, ancak bir matrisin sütun şeklinde sıralamasını kullanır. Yani Sizin durumunuzda, şaşırtıcı derecede yavaş olan> 10.000.000 satır içeren sütunları sıralar. – Nras