Presentation is loading. Please wait.

Presentation is loading. Please wait.

1-2 What is the Matlab environment? How can you create vectors ? What does the colon : operator do? How does the use of the built-in linspace function.

Similar presentations


Presentation on theme: "1-2 What is the Matlab environment? How can you create vectors ? What does the colon : operator do? How does the use of the built-in linspace function."— Presentation transcript:

1

2 1-2 What is the Matlab environment? How can you create vectors ? What does the colon : operator do? How does the use of the built-in linspace function differ from the use of the colon : operator? Readings: Matlab by Pratap Chapter 3

3 3 1) engineering visualization and computation software 2-D contour, histogram, line, mesh, polar, polygon and scatter plots. 3-D line, mesh, polygon, scatter and wire frame plots. 2) The “interactive environment” is user friendly. 3)MATLAB provides its own high-level language in which users can extend the capabilities of MATLAB. C-like programming language Many user defined functions

4 1-4 MATLAB is interactive, if you type (without ; ) >> 2 + 3 The system responds with ans = 5 “ans” is a built-in variable that contains the results of the last evaluated expression that has not been assigned to another variable. e.g. if we type >> 3 * 3 ans = 9

5 1-5 To suppress the screen output use a semicolon: >> 5 ^ 2; (“ ^ ” is the power operator, 5 raised to the second power in this example) >> ( no response from matlab) To examine the current value of ans type >> ans ans = 25

6 1-6 All variables are created as array variables. For example, >> x = 1.5; (this is called an “assignment statement”) creates a (1 x 1) array of type real and assigns the value 1.5 to x. Variables only change values when you assign values to them using an assignment statement. To see the value of x type, >> x x = 1.5000 Variable names must begin with a character and are case sensitive. 1.5 x RAM

7 1-7 The variable to be “assigned” a value must be on the left hand side of the assignment statement… >> 1.5 = x; (illegal “assignment statement”) The above is illegal because “1.5” does not specify a legal address in memory. An assignment statement is not a “math” equation. For example, the following sequence is legal in Matlab: >> x = 2.0; >> x = x + 1.0 x = 3.0000

8 1-8 The current environment for our computing session is called the workspace. We can have many variables and functions in our workspace. To see what variables we have, type >> who ans x For this session (up to now) the workspace contains two variables ans and x. To see the size (number of rows and columns) of these variables, type >> whos Name SizeBytesClass(Both x and ans are 1 x 1 arrays) ans 1x1 8double (we call these scalars) x1x1 8double (double refers to double precision)

9 9 (see p. 12 in Pratap for a list of these Matlab commands) … (extend a command that doesn’t fit on one line) >> save lab3 (saves all the workspace variables to the file lab3.mat) >> load lab3 (loads the lab3.mat file from the Unix pwd) >> save (uses default file matlab.mat) >> load (uses the default file matlab.m at from the Unix pwd)

10 1-10 (see p. 12 in Pratap for a list of these Matlab commands) >> clc % clears the command window >> clf % clears the figure window >> clear var1 var2 % clears only the variables var1 var2 >> clear % clears(deletes) all variables in the workspace >> exit % exit Matlab >> quit % same as exit >> what % lists Matlab files

11 1-11 format options (controls how numeric output is displayed) (see p. 9 in Pratap for a list of these Matlab commands) Examples-- two of the options are shown below: >> x = 12.34567890123456789 x = 12.34567890123457 >> format short >> x x = 12.3457 >> format long e >> x x = 1.234567890123457e+01

12 12 In Matlab (for CS101) all data will be stored in arrays. An array can represent a: vector - size 1 x n (row vector with 1 row and n columns) or n x 1 (column vector with n rows and 1 column) matrix - any size m x n ( a table of m rows and n columns). Conventions Two arrays are defined to be equal if they are of the same size and at each position, they have the same value. The values in an array are called components or elements.

13 1-13 Some examples of vector quantities that occur frequently in science and engineering problems are velocity acceleration force electric, magnetic, gravitational fields surface normal For example, the three-dimensional components of a force vector can be represented in Cartesian coordinates as P = (x, y) The xy coordinates in the plane correspond to a two- dimensional "vector" F = (Fx, Fy, Fz)

14 1-14 We can represent a vector either as a row vector or as a column vector, depending on the application. E.g.,

15 1-15 To create vector arrays in MATLAB type the following: >> F1 = [1 2.5 3.5]; >> F2 = [-1.75, 2.75, 1.0e-1]; >> F3 = [1 2 ]; >> whos F1 F2 F3 Name SizeBytesClass F11x3 24double F21x3 24double F31x2 16double F1 and F2 are 1 row x 3 column arrays and F3 is a 1 row x 2 column array. To display their values type the variable name: >> F1 F1 = 1.00002.5000 3.5000 (The use of the “, ” operator is optional)

16 1-16 To create column-vector arrays in MATLAB either use the semi-colon operator ; or use the transpose operator ‘ >> F1 = [1 ; 2.5; 3.5]; ( ; means... append to next row) >> F2 = [-1.75, 2.75, 1.0e-1] ‘ ; (transpose changes row vector to column vector and vice-versa ) >> F3 = [ ]; (empty vector) >> whos F1 F2 F3 Name SizeBytesClass F13x1 24double F23x1 24double F30x0 0double >> F1 F1 = 1.0000 2.5000 3.5000

17 1-17 The “ : ” (colon) operator is important in construction of arrays >> x = 1:100; (creates a 1x100 row vector with values 1,2,3,4, … 100) >> y = (-1 : 0.1 : 1)’; (creates a column vector with starting value -1 and increments by 0.1 until 1 is reached but not exceeded) >> z = 0 : 0.3 : 1 z = 00.30000.60000.9000 >> z = 5 : -1 : 2 z = 5432

18 1-18 Use (parenthesis) to select a subset of the elements of an array. >> x = [10 9 8 7]; >> y = [3; 4; 5]; >> z = x(2) (note the use of parenthesis and not the brackets) z = 9(subscripting x does not change x) >> z = x(1:3) (note the use the colon operator) z = 1098 >> x = x(2:3) (now x has changed) x = 98 >> z = y(1:2) z = 3 4

19 1-19 Use the end function to obtain the last element in a vector. Example: >> x = [10 9 8 7]; >> y = [3; 4; 5]; >> z = x(end) z = 7 >> z = y(2:end) z = 4 5

20 1-20 Use subscripting to change the value of a vecor. Example: >> x = [10 9 8 7]; >> y = [3; 4; 5]; >> x([2, 3]) = 5 x = 10557 >> y(2:end) = [ 6 7] % y(2:end) = [6 ; 7] works too y = 3 6 7

21 1-21 The built-in Matlab function linspace (see p. 72)works in a similar manner to the colon operator “ : ”. linspace(a,b,N) creates a row vector of N equally spaced values starting at a and ending at b. This is equivalent to a : (b-a)/(N-1) : b Example: Create a row vector named vec1 of 4 elements starting at -1 and ending at +1. >> vec1 = linspace(-1,1,4) vec1 = -1.0000-0.33330.33331.0000

22 1-22 Example: Create a row vector named vec2 of 4 elements each equal to 7. >> vec2 = linspace(7,7,4) vec2 = 7777 Example: Create a row vector named vec3 with the values 5,4,3,2. >> vec3 = linspace(5,2,4) vec3 = 5432

23 1-23 (dot form) Rules for the valid operations(see p 57,58). If A and B are vectors then it is not always true that >>A op B is defined when op is one of the operations in the table above. A and B are called operands. The size of an vector is its number of rows and columns. When multiple operators are used in an expression, use the rules of precedence. *, /, \, ^ have “special” meaning as we will consider... add sub mult right div left div power + - * / \ ^.*./.\.^

24 1-24 >> A = [2 3 4] ; >> B = 3; >> A + B ans= 567 A and B must be of the same size or a scalar. >> B = [1 2 3] ; >> A + B ans= 357

25 1-25 F 1 =(Fx 1, Fy 1 ) F = F 1 + F 2 = (Fx 1 + Fx 2, Fy 1 + Fy 2 ) In Matlab: F = resultant of two forces applied to an object. >> F1 = [1, -1.5]; >> F2 = [-1.75, 1.0e-1] ; >> F = F1 + F2 F = -0.7500-1.4000 F 2 =(Fx 2, Fy 2 )

26 1-26 >> A = [2 3 4] ; >> B = 3; >> A - B ans= -101 A and B must be of the same size or a scalar. >> B = [1 2 3] ; >> A - B ans= 111

27 1-27 In Cartesian coordinates, we can express the dot or scalar product of two vectors as a matrix multiplication: Physical Example: Work done by a force F acting through a displacement s F s >> s = [1, 1, 1] ‘ ; >> F1 = [1 2.5 3.5]; >> F1 * s (dot or scalar product) ans = 7 surface

28 1-28 >> A = [2 3 4] ; >> B = [1 ; 2 ; 3] ; >> A * B ans= 20 In order for the scalar product of vectors A * B to be defined, the number of columns in the row vector A must equal the number of rows in the column vector B.

29 1-29 >> A = [2 3 4] ; >> B = [1 2 3] ; >> A.* B ans= 2612 Note: the result is the product of the individual elements of the vectors. The size of A and B must be the same or either could be a scalar. For the other operators in the table on slide 1 - 23, try to determine what the operator does and the sizes for which A op B is valid. We will consider the “ \ “ operator in the future. (see section 5.1.1 in book)

30 To obtain help in using Matlab make sure the Help window is open. To do this, click “Help” then “Product Help”

31 If you know the name of a Matlab function or command, click on the Search box and type in the name of the function.

32 If you want to obtain a list of functions by category, first, click “By Category”,


Download ppt "1-2 What is the Matlab environment? How can you create vectors ? What does the colon : operator do? How does the use of the built-in linspace function."

Similar presentations


Ads by Google