Change 1 to -1 in a matrix

1 visualización (últimos 30 días)
Offroad Jeep
Offroad Jeep el 26 de Sept. de 2016
Comentada: KSSV el 26 de Sept. de 2016
Hi to all the members, I have a 4 X 4 Matrix of one i.e ones(4). I want to change all the elements from 1 to -1 randomly in the matrix. BUT Only one element should change at a time from 1 to -1. That it the 1 changes to -1 sixteen times as we have sixteen elements in the matrix.

Respuesta aceptada

Adam
Adam el 26 de Sept. de 2016
m = ones(4);
r = rand(4) - 0.5;
m = m .* sign( r );
is one of many ways to do it.
  2 comentarios
Offroad Jeep
Offroad Jeep el 26 de Sept. de 2016
Thanks for reply......Kindly see the question as i left some idea what i needed
Adam
Adam el 26 de Sept. de 2016
orderIdx = randperm(16);
for n = 1:16
m( orderIdx(n) ) = -1;
end

Iniciar sesión para comentar.

Más respuestas (1)

KSSV
KSSV el 26 de Sept. de 2016
Editada: KSSV el 26 de Sept. de 2016
A = ones(4,4) ;
N = 5 ; % number of ones to make negative
idx = randsample(1:16,N) ; % select N random positions to change 1 to -1
A(idx) = -1 ;
  4 comentarios
Offroad Jeep
Offroad Jeep el 26 de Sept. de 2016
giving error as one 1 remains unchanged.... can please go through... regards
KSSV
KSSV el 26 de Sept. de 2016
At the end:
A(pos) = -1 ;

Iniciar sesión para comentar.

Categorías

Más información sobre Discrete Math en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by