matrix and binary bits

I have a matrix that I use it like an index, for example: A=[1 3 2 4 1 3] which points to a matrix which represents binary bits B=[00 01 11 10]. How can I produce these bits (like decimal numbers of course) but in a single line matrix (e.g. 0 0 1 1 0 1 1 0 0 0 1 1)? I mean I want: C=B(1) gives me 0 0, C=B(2) gives me 0 1 and so on...
Thank you..

 Respuesta aceptada

Walter Roberson
Walter Roberson el 13 de Nov. de 2011

0 votos

It is not possible to do what you want. There is no data type in MATLAB with which you can supply a single index and get out a vector of numeric values using () subscripting. Cell arrays come close, but when you use () subscripting with them, you get out a cell array that contains the vector, rather than the vector itself. You can use {} subscripting with a cell array to "unwrap" the cell array from the vector:
B={{0 0} {0 1} {1 1} {1 0}};
C = B{1};
But really it is easier to use straight arrays and appropriate indexing:
B = [0 0; 0 1; 1 1; 1 0];
C = B[1,:];

Más respuestas (2)

bym
bym el 13 de Nov. de 2011

0 votos

dec2bin([1:5])
ans =
001
010
011
100
101

1 comentario

athpapa -
athpapa - el 13 de Nov. de 2011
I don't want this. I just want the first matrix A to point in the second matrix B which has binary bits but in demical numbers. B=[00 01 11 10]. And when I type C=B(1) to give me the first two zeros, when type B(2) the zero and one and so on...Do you know how can I do this?

Iniciar sesión para comentar.

Fangjun Jiang
Fangjun Jiang el 13 de Nov. de 2011

0 votos

B=[00 01 11 10];
C=num2str(B','%02d');
or
i=1;
C=sprintf('%02d',B(i));

2 comentarios

athpapa -
athpapa - el 13 de Nov. de 2011
Is it possible to do this with integers and not strings?Because I need integers (numbers) and not strings...
Fangjun Jiang
Fangjun Jiang el 13 de Nov. de 2011
After the code above, use str2num([C(:)]), or uint8(str2num([C(:)]))

Iniciar sesión para comentar.

Categorías

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by