making permutations in row elements in a matrix
1 次查看(过去 30 天)
显示 更早的评论
Hi all,
I have an nxm matrix. I need to make permutations but the row sums must be fixed.
Example;
Original matrix = [15 20; 10 30; 40 30; 50 10; 15 35]
row sums: 35,40,70,60,50.
One of the permutations; [10 25; 20 20; 50 20; 25 35; 20 30]
row sums: 35,40,70,60,50 (row sums must be fixed).
How can I generate permutations like this? Will permutation test work?
If I generate my original matrix with random numbers taken from a specific distribution , how can I permutate the row elements -with holding the row sums fixed-?
Thanks..
0 个评论
采纳的回答
Azzi Abdelmalek
2013-5-11
编辑:Azzi Abdelmalek
2013-5-11
A=[15 20; 10 30; 40 30; 50 10; 15 35]
id1=A(:,1)/5
id2=A(:,2)/5
id=id1+id2
idx1=arrayfun(@(x) randi(x,1,1),id)
idx2=id-idx1
B=[idx1*5 idx2*5]
3 个评论
Azzi Abdelmalek
2013-5-11
The answer will be different, please do not change the question, post a new question
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!