Main Content


Generate linearly spaced vector



y = linspace(x1,x2) returns a row vector of 100 evenly spaced points between x1 and x2.


y = linspace(x1,x2,n) generates n points. The spacing between the points is (x2-x1)/(n-1).

linspace is similar to the colon operator, “:”, but gives direct control over the number of points and always includes the endpoints. “lin” in the name “linspace” refers to generating linearly spaced values as opposed to the sibling function logspace, which generates logarithmically spaced values.


collapse all

Create a vector of 100 evenly spaced points in the interval [-5,5].

y = linspace(-5,5);

Create a vector of 7 evenly spaced points in the interval [-5,5].

y1 = linspace(-5,5,7)
y1 = 1×7

   -5.0000   -3.3333   -1.6667         0    1.6667    3.3333    5.0000

Create a vector of complex numbers with 8 evenly spaced points between 1+2i and 10+10i.

y = linspace(1+2i,10+10i,8)
y = 1×8 complex

   1.0000 + 2.0000i   2.2857 + 3.1429i   3.5714 + 4.2857i   4.8571 + 5.4286i   6.1429 + 6.5714i   7.4286 + 7.7143i   8.7143 + 8.8571i  10.0000 +10.0000i

Input Arguments

collapse all

Point interval, specified as a pair of scalars. x1 and x2 define the interval over which linspace generates points. x2 can be either larger or smaller than x1. If x2 is smaller than x1, then the vector contains descending values.

Data Types: single | double | datetime | duration
Complex Number Support: Yes

Number of points, specified as a real numeric scalar or NaN.

  • If n is 1, linspace returns x2.

  • If n is zero or negative, linspace returns an empty 1-by-0 matrix.

  • If n is not an integer, linspace rounds down and returns floor(n) points.

  • If n is NaN, linspace returns NaN.

Extended Capabilities

Version History

Introduced before R2006a

See Also