Creating an array from 1 to n

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 Commenti

Guillaume
Guillaume il 20 Dic 2019
This is such an elementary concept in matlab that I would recommend that you go through the free Matlab Onramp and the getting started tutorial in the doc to learn the basics of matlab.
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.
@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:

Accedi per commentare.

 Risposta accettata

n = 10 %
1:n
ans =
1 2 3 4 5 6 7 8 9 10

2 Commenti

Rui
Rui il 30 Ott 2021
Modificato: Rui il 30 Ott 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
10:-1:0

Accedi per commentare.

Più risposte (0)

Categorie

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by