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

Post on 18-Jan-2018

245 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

Array Accessing and StringsENGR 1187MATLAB 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)

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

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

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

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

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

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

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

Vector Functions MATLAB has MANY built-in functions we

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

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

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

0 0 0 0 0 0 0

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

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

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

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

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

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

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)

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

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

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

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

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

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

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.’

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

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.

top related