how to setup matrix with random unique combinations

조회 수: 4 (최근 30일)
Pablo
Pablo 2011년 5월 23일
Hello, in a M = 4x4 matrix I want to place 1 unique value (x=1) per column so that sum(M,2) = 1: e.g., [1 0 0 0; 0 0 0 1; 0 1 0 0; 0 0 1 0 ]
However the combination has to be randomly made.
I can use randi(4,1) to set up the first column, but the subsequent columns will have to be constrained following the first column and using "while" doesn't seem to help. Sugestions?

채택된 답변

Fangjun Jiang
Fangjun Jiang 2011년 5월 23일
a=eye(4);
b=randperm(4);
c=a(b,:)

추가 답변 (1개)

Laura Proctor
Laura Proctor 2011년 5월 23일

If the columns and rows must all sum to 1, then try this:

M = eye(4);
M = M(:,randperm(4));

카테고리

Help CenterFile Exchange에서 Error Functions에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by