Matlab has many commands to create special matrices; the following command creates a row vector whose components increase arithmetically:

>> t = 1:5 t = 1 2 3 4 5The components can change by non-unit steps:

>> x = 0:.1:1 x = Columns 1 through 7 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 Columns 8 through 11 0.7000 0.8000 0.9000 1.0000A negative step is also allowed. The command

>> linspace(0,1,11) ans = Columns 1 through 7 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 Columns 8 through 11 0.7000 0.8000 0.9000 1.0000There is a similar command

>> logspace(0,1,11) ans = Columns 1 through 7 1.0000 1.2589 1.5849 1.9953 2.5119 3.1623 3.9811 Columns 8 through 11 5.0119 6.3096 7.9433 10.0000See

A vector with linearly spaced entries can be regarded as defining a
one-dimensional grid,
which is useful for graphing functions. To create a graph of *y* = *f*(*x*)
(or, to be precise, to graph points of the form (*x*,*f*(*x*)) and connect
them with line segments), one can create a grid in the vector `x`
and then create a vector `y` with the corresponding function values.

It is easy to create the needed vectors to graph a built-in function,
since Matlab functions are *vectorized*. This means that if a built-in
function such as sine is applied to a array, the effect is to create
a new array of the same size whose entries are the function values
of the entries of the original array. For example (see Figure 3):

>> x = (0:.1:2*pi); >> y = sin(x); >> plot(x,y)

Matlab also provides vectorized arithmetic operators, which are the same as the ordinary operators, preceded by ``.''. For example, to graph :

>> x = (-5:.1:5); >> y = x./(1+x.^2); >> plot(x,y)(the graph is not shown). Thus

`x.^2`

squares each component of `x./z`

divides each component of `A^2`

and `A.^2`

. The first is only defined if

Wed Sep 8 10:44:13 EDT 1999