* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download lecture24
Survey
Document related concepts
Capelli's identity wikipedia , lookup
System of linear equations wikipedia , lookup
Linear least squares (mathematics) wikipedia , lookup
Rotation matrix wikipedia , lookup
Eigenvalues and eigenvectors wikipedia , lookup
Jordan normal form wikipedia , lookup
Principal component analysis wikipedia , lookup
Determinant wikipedia , lookup
Matrix (mathematics) wikipedia , lookup
Singular-value decomposition wikipedia , lookup
Four-vector wikipedia , lookup
Perron–Frobenius theorem wikipedia , lookup
Orthogonal matrix wikipedia , lookup
Non-negative matrix factorization wikipedia , lookup
Cayley–Hamilton theorem wikipedia , lookup
Gaussian elimination wikipedia , lookup
Transcript
Lecture 24: Rough and Ready Analysis MATLAB uses function names consistent with most major programming languages For example sqrt sin cos log Function Input can be either scalars or matrices Function Input can be either scalars or matrices Some functions return multiple results size function determines the number of rows and columns You can assign names to the output Nesting Functions There are functions for almost anything you want to do Use the help feature to find out what they are and how to use them From the command window From the help selection on the menu bar Elementary Math Functions abs(x) sign(x) exp(x) log(x) log10(x) absolute value plus or minus ex natural log log base 10 Rounding Functions round(x) fix(x) floor(x) ceil(x) Discrete Mathematics factor(x) gcd(x,y) lcm(x) rats(x) factorial(x) primes(x) isprime(x) greatest common denominator lowest common multiple represent x as a fraction Trigonometric Functions sin(x) cos(x) tan(x) asin(x) sinh(x) asinh(x) sind(x) asind(x) sine cosine tangent inverse sine hyperbolic sine inverse hyperbolic sine sine with degree input inverse sin with degree output Data Analysis max(x) min(x) mean(x) median(x) sum(x) prod(x) sort(x) When x is a matrix, the max is found for each column max value element number where the max value occurs Returns both the smallest value in a vector x and its location in vector x. Vector of maximums Vector of row numbers Returns a row vector containing the minimum element from each column of a matrix x, and returns a row vector of the location of the minimum in each column of matrix x. Determining Matrix Size size(x) length(x) number of rows and columns biggest dimension Variance and Standard Deviation std(x) var(x) N 2 x k 1 2 k N 1 Random Numbers rand(n) Returns an n by n matrix of random numbers between 0 and 1 rand(n,m) Returns an n by m matrix of random numbers These random numbers are evenly distributed Manipulating Matrices • Defining matrices • A matrix can be defined by typing in a list of numbers enclosed in square brackets. • The numbers can be separated by spaces or commas. • New rows are indicated with a semicolon. A = [ 3.5 ]; B = [1.5, 3.1]; or B =[1.5 3.1]; C = [-1, 0, 0; 1, 1, 0; 0, 0, 2]; Manipulating Matrices • Defining matrices • Define a matrix by using another matrix that has already been defined. B = [1.5, 3.1]; S = [3.0, B] S = [3.0, 1.5, 3.1]; T = [1 2 3; S] • Reference an element in a matrix • Both row and column indices start from 1. S= T= 3.0 1.5 3.1 1 2 3 3.0 1.5 3.1 S(2) T(2, 3) T(5) The element value on row 2 and column 3 of matrix T Count down column 1, then down column 2, and finally down column 3 to the correct element of matrix T. Manipulating Matrices • Change values in a matrix • S(2) = -1.0; S= T= changes the 2nd value in the matrix S from 1.5 to -1.0 3.0 1.5 3.1 1 2 3 3.0 1.5 3.1 • Extend a matrix by defining new elements. S(4) = 5.5; Extend the matrix S to four elements instead of three. S(8) = 9.5; Matrix S will have eight values, and the values of S(5), S(6), S(7) will be set to 0. T(3, 3) = 10; T(4, 5) = 20; Manipulating Matrices • Using the colon operator • Define an evenly spaced matrix H = 1:8 --- The default spacing is 1 time = 0.0:0.5:3.0 --- The middle value becomes the spacing. • Extract data from matrices M= x = M( :, 1) --- extract column 1 from matrix M 12345 23456 y = M( :, 4) --- extract column 4 from matrix M 34567 z = M(2, : ) --- extract row 2 from matrix M a = M(2:3, : ) --- extract rows 2 and 3 from matrix M b = M( :, 2:4) --- extract column 2 to column 4 from matrix M c = M(2:3, 3:5) --- extract not whole rows or whole columns from matrix M • Converts a two dimensional matrix to a single column M( : ) Practice Question Q. Wh at is the output of the followin g progra m? int main (void) { int magicNumber = 25; if ( magicNumber < 70 ) { printf("The number is a bit low ... "); } if ( magicNumber > 100 ) { printf("The number is way too high ... "); } if ( magicNumber = 77 ) { /* note the single equal sign! */ printf("77 is a very lucky number. "); } if (magicNumber > 70 ) { printf("At least you are not TOO low."); } } Solution: C a.) The number is a bit low ... b.) The number is a bit low ... 77 is a very lucky number. c.) The number is a bit low ... 77 is a very lucky number. At least you are not TOO low. d.) The number is a bit low ... At least you are not TOO low. e.) The number is way too high Ι