Round in a cell array that also contains string

6 visualizaciones (últimos 30 días)
Jack Arnoldi
Jack Arnoldi el 24 de Jul. de 2019
Comentada: Jack Arnoldi el 24 de Jul. de 2019
Hello everyone,
I am trying to round figures in a cell array however in that same array I also have string types. round changes the value of the string therfore I can't use formulas like
cellfun(@(x)round(x,N),c)
I mean I don't how to integrate `isnumeric` to this formula.
Is there a fomula that knows to round only numeric number?
Thank you in advance.

Respuesta aceptada

Stephen23
Stephen23 el 24 de Jul. de 2019
Editada: Stephen23 el 24 de Jul. de 2019
idx = cellfun(@isnumeric,C);
C(idx) = cellfun(@(x)round(x,N),C(idx),'uni',0)
  3 comentarios
Stephen23
Stephen23 el 24 de Jul. de 2019
@Jack Arnoldi: you are right, I forgot the 'UniformOutput',false. I have fixed my answer:
>> C = {1.234,'cat';'hat',5.6789}
C =
[1.234] 'cat'
'hat' [5.6789]
>> idx = cellfun(@isnumeric,C);
>> C(idx) = cellfun(@(x)round(x,2),C(idx),'uni',0)
C =
[1.23] 'cat'
'hat' [5.68]
Jack Arnoldi
Jack Arnoldi el 24 de Jul. de 2019
Thank you that works perfectly!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Etiquetas

Productos


Versión

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by