How do you transform a vector of numbers into a cell of strings?

I have a vector of numbers:
A = [1 2 3 4 5]';
I want to change it to a cell of strings, such as the one I've declared here:
B = cell(5,1); B{1} = '1'; B{2} = '2'; B{3} = '3'; B{4} = '4'; B{5} = '5';
How can I change A into B without using a for loop?

 Respuesta aceptada

A = [1:5].'
B = arrayfun(@(x) num2str(x),A,'un',0)

2 comentarios

You are right. Working with arrayfun directly is much better ;-).

Iniciar sesión para comentar.

Más respuestas (1)

Hi,
one possibility:
Acell = num2cell(A);
B = cellfun(@(x) sprintf('%g', x), Acell, 'UniformOutput', false);
Titus

Categorías

Más información sobre Data Type Conversion en Centro de ayuda y File Exchange.

Preguntada:

Ben
el 27 de Jun. de 2014

Comentada:

el 27 de Jun. de 2014

Community Treasure Hunt

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

Start Hunting!

Translated by