Returning index values (elements) of a randomly generated matrix (using ceil command) in Matlab

1 visualización (últimos 30 días)
Hi
I have a matrix/vector that has 100 randomly generated values of 0 or 1 as:
matrix_nodes = ceil( rand(1,number_nodes)*2)-1
Now, from the above matrix/vector, I want two matrices/vectors such that I get all values (elements) which are 1 and 0 from matrix_n respectively:
matrix_ones = find(matrix_nodes==1)
matrix_zeros = find(matrix_nodes==0)
  • But the above code only return the indices of all the ones in matrix_n. *
Can anyone help me how to get values of all the ones from matrix_n in matrix_ones and values of all zeros from matrix_n in matrix_zeros.

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 23 de Mzo. de 2014
Editada: Azzi Abdelmalek el 23 de Mzo. de 2014
matrix_ones =matrix_nodes(matrix_nodes==1)
matrix_zeros = matrix_nodes(matrix_nodes==0)
  2 comentarios
Syed
Syed el 23 de Mzo. de 2014
Editada: Syed el 23 de Mzo. de 2014
Thanks
Could you also tell me how can I increase the concentration of zeros in the above matrix (matrix_nodes) such that I have more random ones generated than zeros.
Azzi Abdelmalek
Azzi Abdelmalek el 23 de Mzo. de 2014
Editada: Azzi Abdelmalek el 23 de Mzo. de 2014
number_nodes=100
m=0.7
matrix_nodes=rand(1,number_nodes)<m
to get, approximately, the same number put m=0.5; m can vary from 0 to 1

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by