Basic Matrix Operations
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 =
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 =
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])
A = [1 2 0; 2 5 -1; 4 10 -1]
A =
-1
10
-1
B = A'
B =
10
-1
-1
C = A * B
C =
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 =
25
-10
-10
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]
x = A\b
b =
1
3
x =
1
0
-1
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
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 =
-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
q = conv(p,p)
q =
-10
35
-52
35
-10
r = conv(p,q)
plot(r);
r =
-15
90
-278
480
-480
278
-90
At any time, we can get a listing of the variables we have stored in memory using the
15
whos
Name
Size
Bytes
Class
3x3
72
double
3x3
72
double
-1
Attributes
3x3
72
double
1x9
72
double
ans
3x1
24
double
3x1
24
double
1x4
32
double
1x7
56
double
1x10
80
double
3x1
24
double
You can get the value of a particular variable by typing its name.
A
A =
-1
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