How can I make a string?

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.

 Accepted Answer

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

4 Comments

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])';
"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.
Thanks @Stephen
Thank You both @KALYAN & @Stephen.

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!