create a cell array of numbers

9 visualizaciones (últimos 30 días)
noa
noa el 16 de Jun. de 2013
Comentada: Walter Roberson el 28 de Mayo de 2020
hi
i need to create a cell array with numbers from 0000-1000
notice that numbers must be in a 4-digit format
how can i do this?
thanks
  3 comentarios
Tobias Müller
Tobias Müller el 25 de Abr. de 2019
cell(linspace(1,100,1000))
;)
Walter Roberson
Walter Roberson el 25 de Abr. de 2019
linspace(1,100,1000) would contain non-integer values, which cell would not be able to use a dimension sizes to construct a 1000-dimensional cell array.

Iniciar sesión para comentar.

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 16 de Jun. de 2013
Editada: Azzi Abdelmalek el 16 de Jun. de 2013
str = sprintf('%04d\n',0:1000)
  1 comentario
Walter Roberson
Walter Roberson el 28 de Mayo de 2020
This does not create a cell array.

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 16 de Jun. de 2013
No. In MATLAB, numbers automatically drop leading 0's when displayed.
What is possible is to create a cell array of strings from '0000' to '1000'.
cellstr(num2str(0:1000).', '%04d')
Note: the .' is required there; without it the strings would come out wrong.
  5 comentarios
Walter Roberson
Walter Roberson el 28 de Mayo de 2020
Thank you, Xiangrui Li, you are correct.
Walter Roberson
Walter Roberson el 28 de Mayo de 2020
There is also the undocumented
sprintfc('%04d', 0:1000)
Also since R2016b, there has also been
compose('%04d', 0:1000)

Iniciar sesión para comentar.

Categorías

Más información sobre Cell Arrays 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