how to setup matrix with random unique combinations

5 visualizaciones (últimos 30 días)
Pablo
Pablo el 23 de Mayo de 2011
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?

Respuesta aceptada

Fangjun Jiang
Fangjun Jiang el 23 de Mayo de 2011
a=eye(4);
b=randperm(4);
c=a(b,:)

Más respuestas (1)

Laura Proctor
Laura Proctor el 23 de Mayo de 2011

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

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

Categorías

Más información sobre Error Functions en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by