MATLAB Basics With a brief review of linear algebra by Lanyi Xu modified by D.G.E. Robertson
1. Introduction to vectors and matrices MATLAB= MATrix LABoratory What is a Vector? What is a Matrix? Vector and Matrix in Matlab
What is a vector A vector is an array of elements, arranged in column, e.g., X is a n-dimensional column vector.
In physical world, a vector is normally 3-dimensional in 3-D space or 2- dimensional in a plane (2-D space), e.g.,, or
If a vector has only one dimension, it becomes a scalar, e.g.,
Vector addition Addition of two vectors is defined by Vector subtraction is defined in a similar manner. In both vector addition and subtraction, x and y must have the same dimensions.
Scalar multiplication A vector may be multiplied by a scalar, k, yielding
Vector transpose The transpose of a vector is defined, such that, if x is the column vector its transpose is the row vector
Inner product of vectors The quantity x T y is referred as the inner product or dot product of x and y and yields a scalar value (or x ∙ y). If x T y = 0 x and y are said to be orthogonal.
In addition, x T x, the squared length of the vector x, is The length or norm of vector x is denoted by
Outer product of vectors The quantity of xy T is referred as the outer product and yields the matrix
Similarly, we can form the matrix xx T as where xx T is called the scatter matrix of vector x.
Matrix operations A matrix is an m by n rectangular array of elements in m rows and n columns, and normally designated by a capital letter. The matrix A, consisting of m rows and n columns, is denoted as
Where a ij is the element in the i th row and j th column, for i=1,2, ,m and j=1,2,…,n. If m=2 and n=3, A is a 2 3 matrix
Note that vector may be thought of as a special case of matrix: a column vector may be thought of as a matrix of m rows and 1 column; a rows vector may be thought of as a matrix of 1 row and n columns; A scalar may be thought of as a matrix of 1 row and 1 column.
Matrix addition Matrix addition is defined only when the two matrices to be added are of identical dimensions, i.e., that have the same number of rows and columns. e.g.,
For m=3 and n=n:
Scalar multiplication The matrix A may be multiplied by a scalar k. Such multiplication is denoted by kA where i.e., when a scalar multiplies a matrix, it multiplies each of the elements of the matrix, e.g.,
For 3 2 matrix A,
Matrix multiplication The product of two matrices, AB, read A times B, in that order, is defined by the matrix
The product AB is defined only when A and B are comfortable, that is, the number of columns is equal to the number of rows in B. Where A is m p and B is p n, the product matrix [c ij ] has m rows and n columns, i.e.,
For example, if A is a 2 3 matrix and B is a 3 2 matrix, then AB yields a 2 2 matrix, i.e., In general,
For example, if and, then
and Obviously,.
Vector-matrix Product If a vector x and a matrix A are conformable, the product y=Ax is defined such that
For example, if A is as before and x is as follow,, then
Transpose of a matrix The transpose of a matrix is obtained by interchanging its rows and columns, e.g., if then Or, in general, A=[a ij ], A T =[a ji ].
Thus, an m n matrix has an n m transpose. For matrices A and B, of appropriate dimension, it can be shown that
Inverse of a matrix In considering the inverse of a matrix, we must restrict our discussion to square matrices. If A is a square matrix, its inverse is denoted by A -1 such that where I is an identity matrix.
An identity matrix is a square matrix with 1 located in each position of the main diagonal of the matrix and 0s elsewhere, i.e.,
It can be shown that
MATLAB basic operations MATLAB is based on matrix/vector mathematics Entering matrices Enter an explicit list of elements Load matrices from external data files Generate matrices using built-in functions Create vectors with the colon (:) operator
>> x=[ ]; >> A = [ ; ; ; ] A = >>
Generate matrices using built- in functions Functions such as zeros(), ones(), eye(), magic(), etc. >> A=zeros(3) A = >> B=ones(3,2) B = 1
>> I=eye(4)(i.e., identity matrix) I = >> A=magic(4) (i.e., magic square) A = >>
Generate Vectors with Colon (:) Operator The colon operator uses the following rules to create regularly spaced vectors: j:k is the same as [j,j+1,...,k] j:k is empty if j > k j:i:k is the same as [j,j+i,j+2i,...,k] j:i:k is empty if i > 0 and j > k or if i < 0 and j < k where i, j, and k are all scalars.
>> c=0:5 c = >> b=0:0.2:1 b = >> d=8:-1:3 d = >> e=8:2 e = Empty matrix: 1-by-0 Examples
Basic Permutation of Matrix in MATLAB sum, transpose, and diag Summation We can use sum() function. Examples, >> X=ones(1,5) X = >> sum(X) ans = 5 >>
>> A=magic(4) A = >> sum(A) ans = >>
Transpose >> A=magic(4) A = >> A' ans = >>
Expressions of MATLAB Operators Functions
Operators +Addition-Subtraction *Multiplication /Division \Left division ^Power ' Complex conjugate transpose ( )Specify evaluation order
Functions MATLAB provides a large number of standard elementary mathematical functions, including abs, sqrt, exp, and sin. pi iImaginary unit ( ) jSame as i Useful constants:
>> rho=(1+sqrt(5))/2 rho = >> a=abs(3+4i) a = 5 >>
Basic Plotting Functions plot( ) The plot function has different forms, depending on the input arguments. If y is a vector, plot(y) produces a piecewise linear graph of the elements of y versus the index of the elements of y. If you specify two vectors as arguments, plot(x,y) produces a graph of y versus x.
Example, x = 0:pi/100:2*pi; y = sin(x); plot(x,y)
Multiple Data Sets in One Graph x = 0:pi/100:2*pi; y = sin(x); y2 = sin(x-.25); y3 = sin(x-.5); plot(x,y,x,y2,x,y3)
Distance between a Line and a Point given line defined by points a and b find the perpendicular distance (d) to point c d = norm(cross((b-a),(c-a)))/norm(b-a)