# Documentation

### This is machine translation

Translated by
Mouse over text to see original. Click the button below to return to the English verison of the page.

## Basic Matrix Operations

This example shows basic techniques and functions for working with matrices in the MATLAB® language.

First, let's create a simple vector with 9 elements called `a`.

`a = [1 2 3 4 6 4 3 4 5]`
```a = 1 2 3 4 6 4 3 4 5 ```

Now let's add 2 to each element of our vector, `a`, and store the result in a new vector.

Notice how MATLAB requires no special handling of vector or matrix math.

`b = a + 2`
```b = 3 4 5 6 8 6 5 6 7 ```

Creating graphs in MATLAB is as easy as one command. Let's plot the result of our vector addition with grid lines.

```plot(b) grid on```

MATLAB can make other graph types as well, with axis labels.

```bar(b) xlabel('Sample #') ylabel('Pounds')```

MATLAB can use symbols in plots as well. Here is an example using stars to mark the points. MATLAB offers a variety of other symbols and line types.

```plot(b,'*') axis([0 10 0 10])```

One area in which MATLAB excels is matrix computation.

Creating a matrix is as easy as making a vector, using semicolons (;) to separate the rows of a matrix.

`A = [1 2 0; 2 5 -1; 4 10 -1]`
```A = 1 2 0 2 5 -1 4 10 -1 ```

We can easily find the transpose of the matrix `A`.

`B = A'`
```B = 1 2 4 2 5 10 0 -1 -1 ```

Now let's multiply these two matrices together.

Note again that MATLAB doesn't require you to deal with matrices as a collection of numbers. MATLAB knows when you are dealing with matrices and adjusts your calculations accordingly.

`C = A * B`
```C = 5 12 24 12 30 59 24 59 117 ```

Instead of doing a matrix multiply, we can multiply the corresponding elements of two matrices or vectors using the .* operator.

`C = A .* B`
```C = 1 4 0 4 25 -10 0 -10 1 ```

Let's use the matrix A to solve the equation, A*x = b. We do this by using the \ (backslash) operator.

`b = [1;3;5]`
```b = 1 3 5 ```
`x = A\b`
```x = 1 0 -1 ```

Now we can show that A*x is equal to b.

`r = A*x - b`
```r = 0 0 0 ```

MATLAB has functions for nearly every type of common matrix calculation.

There are functions to obtain eigenvalues ...

`eig(A)`
```ans = 3.7321 0.2679 1.0000 ```

... as well as the singular values.

`svd(A)`
```ans = 12.3171 0.5149 0.1577 ```

The "poly" function generates a vector containing the coefficients of the characteristic polynomial.

The characteristic polynomial of a matrix `A` is

``` ```
`p = round(poly(A))`
```p = 1 -5 5 -1 ```

We can easily find the roots of a polynomial using the `roots` function.

These are actually the eigenvalues of the original matrix.

`roots(p)`
```ans = 3.7321 1.0000 0.2679 ```

MATLAB has many applications beyond just matrix computation.

To convolve two vectors ...

`q = conv(p,p)`
```q = 1 -10 35 -52 35 -10 1 ```

... or convolve again and plot the result.

`r = conv(p,q)`
```r = 1 -15 90 -278 480 -480 278 -90 15 -1 ```
`plot(r);`

At any time, we can get a listing of the variables we have stored in memory using the `who` or `whos` command.

`whos`
```  Name      Size            Bytes  Class     Attributes  A         3x3                72  double                B         3x3                72  double                C         3x3                72  double                a         1x9                72  double                ans       3x1                24  double                b         3x1                24  double                p         1x4                32  double                q         1x7                56  double                r         1x10               80  double                x         3x1                24  double               ```

You can get the value of a particular variable by typing its name.

`A`
```A = 1 2 0 2 5 -1 4 10 -1 ```

You can have more than one statement on a single line by separating each statement with commas or semicolons.

If you don't assign a variable to store the result of an operation, the result is stored in a temporary variable called `ans`.

`sqrt(-1)`
```ans =    0.0000 + 1.0000i ```

As you can see, MATLAB easily deals with complex numbers in its calculations.