How to extract digits

31 visualizaciones (últimos 30 días)
LC
LC el 23 de Mzo. de 2022
Comentada: LC el 26 de Mzo. de 2022
Hello everybody. I would like to know how to extract the first digit of each element of a vector.
Example
a = [438;259;21;4;79876]
out = [4;2;2;4;7]
At the same time I would like to know if there is a way to extract the first two digits of each element:
a = [438;259;21;44;79876]
out = [43;25;21;44;79]
tnxxx

Respuesta aceptada

Voss
Voss el 23 de Mzo. de 2022
Assuming they're all positive numbers, you can try this (the 2-digit result won't be accurate for one-digit numbers):
a = [438;259;21;44;79876];
power10 = 10.^floor(log10(a));
first_digit = floor(a./power10)
first_digit = 5×1
4 2 2 4 7
first_two_digits = floor(a./power10*10)
first_two_digits = 5×1
43 25 21 44 79
  6 comentarios
Stephen23
Stephen23 el 25 de Mzo. de 2022
ST = '51 51 50 49 49';
DD = regexp(ST,'\d\d','match')
DD = 1×5 cell array
{'51'} {'51'} {'50'} {'49'} {'49'}
LC
LC el 26 de Mzo. de 2022
thank you very much for your support, it works great because I never have a one-digit number.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by