making permutations in row elements in a matrix

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..

 採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2013 年 5 月 11 日
編集済み: Azzi Abdelmalek 2013 年 5 月 11 日

0 投票

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 件のコメント

Ayse Kazan
Ayse Kazan 2013 年 5 月 11 日
Thank you so much for the answer, Azzi.
If both the row and coloumn sums must be fixed, what shoul I do?
Sorry, this will be different from my heading but I would appreciate if you could help.. (I dont know if I can change the heading of the question)
Azzi Abdelmalek
Azzi Abdelmalek 2013 年 5 月 11 日
The answer will be different, please do not change the question, post a new question
Ayse Kazan
Ayse Kazan 2013 年 5 月 11 日
ok thank you so much.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および 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!

Translated by