array accessing and strings engr 1187 matlab 3. today's topics array addressing (indexing) ...

31

Click here to load reader

Upload: neal-parsons

Post on 18-Jan-2018

245 views

Category:

Documents


0 download

DESCRIPTION

Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

TRANSCRIPT

Page 1: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Array Accessing and StringsENGR 1187MATLAB 3

Page 2: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Today's Topics Array Addressing (indexing) Vector Addressing (indexing) Matrix Addressing (indexing)

Page 3: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Today's Topics Array Addressing (indexing) Vector Addressing (indexing) Matrix Addressing (indexing)

Page 4: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

What is Addressing (indexing)? Each element in a vector has an

address, also called an index MATLAB indexing starts at 1 (not at 0!) We can access/retrieve/extract the

individual elements by referring to their addresses

Useful for transforming data or doing calculations with only part of a vector

Page 5: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Recall from the previously class that seismic data is important in structural design for civil engineers. Accessing data from an array at a certain location in California allows engineers to design their structures according to vibrational data in a specific region. This allows the building to be designed to this standard but not overdesigned to more extreme data in other regions.

Array Accessing In The Real World

Page 6: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Today's Topics Array Addressing (indexing) Vector Addressing (indexing) Matrix Addressing (indexing)

Page 7: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Vector Addressing Example Define a vector with 9 elements:

>> v = [ 12 15 18 21 24 27 30 33 36];• We can access the elements

individually:• >> v(4)

ans = 21

Page 8: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Vector Addressing ExampleWe can retrieve any element by indexing:>> v(7)ans = 30>> v(9)ans = 36

We can assign individual vector elements to variables:>> B= v(7)B = 30>> C=v(9)C = 36

Page 9: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Vector Addressing ExamplesWe can add elements together. Recall: B = v(7), C = v(9)>> D= B + CD = 66We can also add elements directly:>> v(4) + v(7)ans = 51

Page 10: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Changing Element Values We can change an element in a vector by directly

assigning a new value to a specific address. Let’s change the 6th element of v to 90:v= [12 15 18 21 24 27 30 33 36]>> v(6) = 90; >> vv = 12 15 18 21 24 90 30 33 36

Page 11: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Addressing Column VectorsAddressing (indexing) an element in a column vector works the same way as with a row vector:>> col = [25; 30; 35; 40; 45; 50]>> t = col(4)t = 40

Page 12: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Vector Functions MATLAB has MANY built-in functions we

can use with vectorsmax()min()sum()length()…etc.

Page 13: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Vector Functions Exampleslength() gives us the number of elements in a vector>> fun = [4 6 8 10 12];>> length(fun)ans = 5

Page 14: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Vector Functions ExamplesZeros() gives us a vector or matrix of zeros>> nothing = zeros (1 , 7)nothing =

0 0 0 0 0 0 0

Page 15: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Vector Functions Examples

ones() gives us a vector/matrix of all ones>> single = ones(1, 12)single =

1 1 1 1 1 1 1 1 1 1 1 1

Page 16: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Addressing a Range of Elements The colon operator allows us to access

a range of elements in a vector This is useful if we want to extract or

alter only a portion of an existing vector

Page 17: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Example: Addressing a RangeDefine a vector:>> vec = [ 1 3 5 7 9 11 13 15 ];Select elements 3 through 7 in 'vec':>> vec(3:7)vec = 5 7 9 11 13

Page 18: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Example: Addressing a RangeWe can access a range of elements in any vector and assign them to a new variable. Recall that vec = [ 1 3 5 7 9 11 13 15 ]>> t= vec(2:5)t = 3 5 7 9

Page 19: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Vector ModificationsWe can add elements to any existing vector. Recall that 'vec' has 8 elements:vec = [ 1 3 5 7 9 11 13 15 ]>> vec(9: 12)= [ 2 4 6 8]vec = 1 3 5 7 9 11 13 15 2 4 6 8

Page 20: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Vector ModificationsWe can create new vectors made up of elements from previously defined vectors:>> E = [ 3 6 9 12 ];>> G = [ 2 4 8 5];>> K = [ E(1:3) G(3:4)]K = 3 6 9 8 5

Page 21: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Today's Topics Array Addressing (indexing) Vector Addressing (indexing) Matrix Addressing (indexing)

Page 22: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Matrix Addressing Matrix addressing works very similarly

to vector addressing Individual elements are addressed by

their row number and column number: (m, n)

Page 23: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Matrix Addressing ExampleLet's define a matrix, then access some elements:>> data = [ 2 3 4 5 ; 1 6 8 9]data = 2 3 4 5 1 6 8 9>> data (2,3)ans = 8

Page 24: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Matrix Addressing Example

We can perform mathematical operation with matrix elements. Let's add two values from our matrix called 'data':data = 2 3 4 5 1 6 8 9>> data_sum= data(1,2) + data(2,4)data_sum = 12

Page 25: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Colon Operator With Matrices A(: , 3) Elements in all rows of column 3 A(2, : ) Elements in all columns of row 2 A(: , 2:5) Elements in columns 2 to 5 in all

rows A(2:4 , :) Elements in rows 2 to 4 in all

columns A(1:3 , 2:4) Elements in rows 1 to 3 and

incolumns 2 to 4

Page 26: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Extracting Matrix Elements We can extract a portion of a matrix

and assign it to a new variable new_matrix =matrix( r1 : r2, c1 : c2)• r1 is the starting row• r2 is the ending row• c1 is the starting column• c2 is the ending column

Page 27: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Example: Extracting Elements>> A = [ 1 3 5 72 4 6 83 6 9 124 8 12 16]A = 1 3 5 7 2 4 6 8 3 6 9 12 4 8 12 16

>> B = A(1:3, 2:4)B = 3 5 7 4 6 8 6 9 12

Page 28: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Example: Extracting Elements>> C = A(1:3 , : )C = 1 3 5 7 2 4 6 8 3 6 9 12

>> D = A( : , 2:4)D = 3 5 7 4 6 8 6 9 12 8 12 16

Remember

Page 29: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Important Takeaways An element in a defined vector can be

accessed with v(x) - an element in a vector can be defined, or re-defined with v(x)=z

An element in a defined matrix can be accessed with v(x:y)- an element in a matrix can be defined, or re-defined with v(x:y)=z

Strings are lines of text and can be used instead of numerical values - they are defined inside single apostrophes, e.g. ‘Your text here.’

Page 30: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

Preview of Next Class Array Operations• Scalar – vector operations• Vector – vector operations

Dot operator, when to use it• Built-in vector functions

Ex: max, min, mean etc.• Examples

Page 31: Array Accessing and Strings ENGR 1187 MATLAB 3. Today's Topics  Array Addressing (indexing)  Vector Addressing (indexing)  Matrix Addressing (indexing)

What’s Next? Review today’s Quiz #03 Open the in-class activity from the EEIC

website and we will go through it together. Then, start working on MAT-03 homework. Before next class, you will read about array

operations, this is an introduction of mathematical operations in MATLAB and basics of linear algebra.