How to split binary cells and convert them to dec?

2 visualizaciones (últimos 30 días)
MKM
MKM el 25 de En. de 2022
Respondida: Stephen23 el 25 de En. de 2022
I have a cell array consisting of binary 100x1 e.g
{'0100101000101000'}
{'0100101000101000'}
{'0100101000101000'}
...
{'0100101000101000'}
How do i take the first 3 binary from each cell and then convert it into dec?
maybe a cellfun can be helpful here but i do get some errors
I know you can use bin2dec i should expect a 2 for every cell.
Thanks!

Respuesta aceptada

zhehao.nkd
zhehao.nkd el 25 de En. de 2022
C{1} = {'0100101000101000'};
C{2} = {'0100101000101000'};
C{3} = {'0100101000101000'};
if C is your original cell, then:
cellfun(@(x) bin2dec(x{1}(1:3)),C)
ans = 1×3
2 2 2
Is that what you need?
  1 comentario
MKM
MKM el 25 de En. de 2022
Perfect, I actually managed to do this myself eventually. My version of it is:
binarystrip = cellfun(@(x) x(1:3), C, 'uniformoutput',false)
x = bin2dec(binarystrip)
Thanks for the input too.

Iniciar sesión para comentar.

Más respuestas (1)

Stephen23
Stephen23 el 25 de En. de 2022
More efficient than using CELLFUN:
C = {'0100101000101000';'0100101000101000';'0100101000101000';'0100101000101000'}
C = 4×1 cell array
{'0100101000101000'} {'0100101000101000'} {'0100101000101000'} {'0100101000101000'}
V = [4,2,1]*sscanf(sprintf('%s ',C{:}),'%1d%1d%1d%*d',[3,Inf])
V = 1×4
2 2 2 2

Categorías

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

Etiquetas

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by