I have some values as : A=
0
0
1
0
1
0
1
0
0
1
1
0
I want to take every 4 values in a string.
Output should be : B =
0 0 1 0
1 0 1 0
0 1 1 0
And, after that I want to covert the values from binary to decimal.
Final output should be :
2
10
6
It cuould be better for me if it is done in a loop. Because, I have a length of "A" near 40+ lacs.

 Respuesta aceptada

KALYAN ACHARJYA
KALYAN ACHARJYA el 4 de En. de 2021
Editada: KALYAN ACHARJYA el 4 de En. de 2021

1 voto

B=reshape(A,[4,3])';
C=num2str(B);
bin2dec(C)
Output :
ans =
2
10
6
Note: Loop is not necessity .

4 comentarios

Noman Abir
Noman Abir el 4 de En. de 2021
You used B=reshape(A,[4,3])'; where 3 is for length.
What can I use if the length is unidentified.? (Length can be anything anytime)
Should I then use this code..?
K = length(A);
B=reshape(A,[4,K])';
Stephen23
Stephen23 el 4 de En. de 2021
Editada: Stephen23 el 4 de En. de 2021
"Should I then use this code..? K = length(A); B=reshape(A,[4,K])';"
No, because the reshaped vector would have to have K/4 columns, not K columns.
But in any case, experienced MATLAB users would recommend this syntax:
B = reshape(A,4,[]).';
and simply letting reshape calculate how many columns are required.
KALYAN ACHARJYA
KALYAN ACHARJYA el 4 de En. de 2021
Thanks @Stephen
Noman Abir
Noman Abir el 4 de En. de 2021
Thank You both @KALYAN & @Stephen.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Preguntada:

el 4 de En. de 2021

Comentada:

el 4 de En. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by