Creating an array from 1 to n

2 432 views (last 30 days)
Hello!
I am trying to create an array of integers from 1 to n [1 2 3 ..... n], where n is a variable that can change.
How should I approach that?
Thank you!
  3 Comments
Luis Benitez Prieto
Luis Benitez Prieto on 27 Jul 2021
It is elemantary but also not. If you look at the accepted answer below. The answer is creating a double array, the numbers inside are integer values, but not of interger format.
I actually was interested in this question because when I want to create an array of integers I do not want to create a double array in the process by doing something like:
uint32([1:10])
Instead, I would like to directly create an integer array. And thats something I have not easily found in the documentation and a legit question in my opinion. Perhaps thats what the poster is asking for.
Stephen23
Stephen23 on 27 Jul 2021
Edited: Stephen23 on 27 Jul 2021
@Luis Benitez Prieto: like this:
V = uint32(1):uint32(10)
V = 1×10
1 2 3 4 5 6 7 8 9 10
class(V)
ans = 'uint32'
Note that just one uint32 input is sufficient to define the output as uint32:
class(uint32(1):10)
ans = 'uint32'
class(1:uint32(10))
ans = 'uint32'
Note that the square brackets in your example are superfluous and misleading:

Sign in to comment.

Accepted Answer

Alex Mcaulley
Alex Mcaulley on 20 Dec 2019
n = 10 %
1:n
ans =
1 2 3 4 5 6 7 8 9 10
  2 Comments
Rui
Rui on 30 Oct 2021
Edited: Rui on 30 Oct 2021
how can i get it in reverse order also with a 0 in end?
like this
10 9 8 7 6 5 4 3 2 1 0

Sign in to comment.

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!