MATLAB Vectors Tutorial for Beginners
MATLAB Vectors Tutorial for Beginners Let's start off by creating something simple, like a vector. Enter each element of the vecto...
https://things-for-students.blogspot.com/2012/03/matlab-vectors.html
MATLAB Vectors Tutorial for Beginners
Let's start off by creating something simple, like a vector. Enter each element of the vector (separated by a space) between brackets, and set it equal to a variable. For example, to create the vector a, enter into the Matlab command window (you can "copy" and "paste" from your browser into Matlab to make it easy):
a = [1 2 3 4 5 6 9 8 7]
Matlab should return:
a = 1 2 3 4 5 6 9 8 7
Let's say you want to create a vector with elements between 0 and 20 evenly spaced in increments of 2 (this method is frequently used to create a time vector):
t = 0:2:20
t = 0 2 4 6 8 10 12 14 16 18 20
Manipulating vectors is almost as easy as creating them. First, suppose you would like to add 2 to each of the elements in vector 'a'. The equation for that looks like:
b = a + 2
b = 3 4 5 6 7 8 11 10 9
Now suppose, you would like to add two vectors together. If the two vectors are the same length, it is easy. Simply add the two as shown below:
c = a + b
c = 4 6 8 10 12 14 20 18 16
Subtraction of vectors of the same length works exactly the same way.
Declare a variable:
All variables are created with double precision unless specified and they are matrices.
Example:
>>x=5;
>>x1=2;
Array, Matrix:
Matrices
Entering matrices into Matlab is the same as entering a vector, except each row of elements is separated by a semicolon (;) or a return:
B = [1 2 3 4;5 6 7 8;9 10 11 12]
B = 1 2 3 4
5 6 7 8
9 10 11 12
B = [ 1 2 3 4
5 6 7 8
9 10 11 12]
B = 1 2 3 4
5 6 7 8
9 10 11 12
Matrices in Matlab can be manipulated in many ways. For one, you can find the transpose of a matrix using the apostrophe key:
C = B'
C = 1 5 9
2 6 10
3 7 11
4 8 12
It should be noted that if C had been complex, the apostrophe would have actually given the complex conjugate transpose. To get the transpose, use .' (the two commands are the same if the matix is not complex).
Now you can multiply the two matrices B and C together. Remember that order matters when multiplying matrices.
D = B * C
D = 30 70 110
70 174 278
110 278 446
D = C * B
D =
107 122 137 152
122 140 158 176
137 158 179 200
152 176 200 224
Another option for matrix manipulation is that you can multiply the corresponding elements of two matrices using the .* operator (the matrices must be the same size to do this).
E = [1 2;3 4]
F = [2 3;4 5]
G = E .* F
E =
1 2
3 4
F =
2 3
4 5
G =
2 6
12 20
If you have a square matrix, like E, you can also multiply it by itself as many times as you like by raising it to a given power.
E^3
ans =
37 54
81 118
If wanted to cube each element in the matrix, just use the element-by-element cubing.
E.^3
ans =
1 8
27 64
You can also find the inverse of a matrix:
X = inv(E)
X = -2.0000 1.0000
or its eigenvalues:
eig(E)
ans = -0.3723
There is even a function to find the coefficients of the characteristic polynomial of a matrix. The "poly" function creates a vector that includes the coefficients of the characteristic polynomial.
p = poly(E)
p =
1.0000 -5.0000 -2.0000
Remember that the eigenvalues of a matrix are the same as the roots of its characteristic polynomial:
roots(p)
ans =
5.3723
-0.3723
a vector x = [1 2 5 1]
x =
1 2 5 1
a matrix x = [1 2 3; 5 1 4; 3 2 -1]
x =
1 2 3
5 1 4
3 2 -1
transpose y = x’ y =
1
2
5
1
Long Array, Matrix:
t =1:10
t =1 2 3 4 5 6 7 8 9 10
k =2:-0.5:-1
k =2 1.5 1 0.5 0 -0.5 -1
B = [1:4; 5:8]
x = 1 2 3 4
5 6 7 8
Generating Vectors from functions
zeros(M,N) MxN matrix of zeros
|
x = zeros(1,3)
x =0 0 0
|
ones(M,N) MxN matrix of ones
|
x = ones(1,3)
x =1 1 1
|
rand(M,N) MxN matrix of uniformlydistributed random
numbers on (0,1)
|
x = rand(1,3)
x =0.9501 0.2311 0.6068
|
Concatenation of Matrices
x = [1 2], y = [4 5], z=[ 0 0]
A = [ x y]= 1 2 4 5
B = [x ; y]
1 2
4 5
Operators (arithmetic)
+ addition
- subtraction
* multiplication
/ division
^ power
‘ complex conjugate transpose
Operators (Element by Element)
.* element-by-element multiplication
./ element-by-element division
.^ element-by-element power