create a cell array of numbers

9 views (last 30 days)
noa
noa on 16 Jun 2013
Commented: Walter Roberson on 28 May 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 Comments
Walter Roberson
Walter Roberson on 25 Apr 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.

Sign in to comment.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 16 Jun 2013
Edited: Azzi Abdelmalek on 16 Jun 2013
str = sprintf('%04d\n',0:1000)

More Answers (1)

Walter Roberson
Walter Roberson on 16 Jun 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 Comments
Walter Roberson
Walter Roberson on 28 May 2020
Thank you, Xiangrui Li, you are correct.
Walter Roberson
Walter Roberson on 28 May 2020
There is also the undocumented
sprintfc('%04d', 0:1000)
Also since R2016b, there has also been
compose('%04d', 0:1000)

Sign in to comment.

Categories

Find more on Cell Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!