matlab.ppt

50
MATLAB Basics With a brief review of linear algebra by Lanyi Xu modified by D.G.E. Robertson

Transcript of matlab.ppt

  • MATLAB BasicsWith a brief review of linear algebraby Lanyi Xumodified by D.G.E. Robertson

  • 1. Introduction to vectors and matricesMATLAB= MATrix LABoratoryWhat is a Vector?What is a Matrix?Vector and Matrix in Matlab

  • What is a vectorA 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 additionAddition 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 multiplicationA vector may be multiplied by a scalar, k, yielding

  • Vector transposeThe transpose of a vector is defined, such that, if x is the column vector

    its transpose is the row vector

  • Inner product of vectorsThe quantity xTy is referred as the inner product or dot product of x and y and yields a scalar value (or x y).If xTy = 0x and y are said to be orthogonal.

  • In addition, xTx , the squared length of the vector x , is

    The length or norm of vector x is denoted by

  • Outer product of vectorsThe quantity of xyT is referred as the outer product and yields the matrix

  • Similarly, we can form the matrix xxT as

    where xxT is called the scatter matrix of vector x.

  • Matrix operationsA 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 aij is the element in the ith row and jth column, for i=1,2,,m and j=1,2,,n. If m=2 and n=3, A is a 23 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 additionMatrix 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 multiplicationThe matrix A may be multiplied by a scalar k. Such multiplication is denoted by kA wherei.e., when a scalar multiplies a matrix, it multiplies each of the elements of the matrix, e.g.,

  • For 32 matrix A,

  • Matrix multiplicationThe 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 mp and B is pn, the product matrix [cij] has m rows and n columns, i.e.,

  • For example, if A is a 23 matrix and B is a 32 matrix, then AB yields a 22 matrix, i.e.,In general,

  • For example, ifand, then

  • andObviously,.

  • Vector-matrix ProductIf 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 matrixThe transpose of a matrix is obtained by interchanging its rows and columns, e.g., if thenOr, in general,A=[aij], AT=[aji].

  • Thus, an mn matrix has an nm transpose.For matrices A and B, of appropriate dimension, it can be shown that

  • Inverse of a matrixIn 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 thatwhere 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 operationsMATLAB is based on matrix/vector mathematicsEntering matricesEnter an explicit list of elements Load matrices from external data files Generate matrices using built-in functionsCreate vectors with the colon (:) operator

  • >> x=[1 2 3 4 5];>> A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]

    A = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1>>

  • Generate matrices using built-in functionsFunctions such as zeros(), ones(), eye(), magic(), etc. >> A=zeros(3)A = 0 0 0 0 0 0 0 0 0>> B=ones(3,2)B =1 11 11 1

  • >> I=eye(4)(i.e., identity matrix)I =1 0 0 00 1 0 00 0 1 00 0 0 1>> A=magic(4) (i.e., magic square)A =16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1>>

  • Generate Vectors with Colon (:) OperatorThe 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 > kj: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.

  • Examples>> c=0:5c = 0 1 2 3 4 5>> b=0:0.2:1b = 0 0.2000 0.4000 0.6000 0.8000 1.0000>> d=8:-1:3d =8 7 6 5 4 3>> e=8:2e = Empty matrix: 1-by-0

  • Basic Permutation of Matrix in MATLABsum, transpose, and diagSummationWe can use sum() function.Examples,>> X=ones(1,5)X = 1 1 1 1 1>> sum(X)ans =5>>

  • >> A=magic(4)A = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1

    >> sum(A)ans = 34 34 34 34

    >>

  • Transpose>> A=magic(4)A = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1

    >> A'ans = 16 5 9 4 2 11 7 14 3 10 6 15 13 8 12 1

    >>

  • Expressions of MATLABOperatorsFunctions

  • Operators+Addition-Subtraction*Multiplication/Division\Left division^Power' Complex conjugate transpose( )Specify evaluation order

  • FunctionsMATLAB provides a large number of standard elementary mathematical functions, including abs, sqrt, exp, and sin. pi3.14159265...iImaginary unit ( )jSame as iUseful constants:

  • >> rho=(1+sqrt(5))/2rho = 1.6180

    >> 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 Graphx = 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 Pointgiven 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)