280 likes | 423 Views
Array Accessing and Strings. ENGR 1181 MATLAB 3. Array Accessing In The Real World.
E N D
Array Accessing and Strings ENGR 1181 MATLAB 3
Array Accessing In The Real World 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.
Today's Learning Objectives • After today’s class, students will be able to: • Demonstrate proper notation for accessing elements from previously assigned one-dimensional arrays (e.g., single elements, list of elements) and two-dimensional arrays (e.g., those with rows and columns). • Explain that a string is a one dimensional array and can be used the same way as numeric arrays.
What is Addressing? • Each element in a vector has an address, also called anindex • 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
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
We can retrieve any element by indexing: >> v(7)ans = 30 >> v(9)ans = 36 Vector Addressing Example We can assign individual vector elements to variables: >> B= v(7)B = 30 >> C=v(9)C = 36
Vector Addressing Examples We can add elements together. Recall: B = v(7), C = v(9) >> D= B + CD = 66 We 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 6thelement 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 Vectors Addressing 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, many built-in functions we can use with vectors max()min()sum()length() …etc.
Vector Functions length() gives us the number of elements in a vector >> fun = [4 6 8 10 12]; >> length(fun) ans = 5
Vector Functions Zeros() gives us a vector or matrix of zeros >> nothing = zeros (1 , 7) nothing = 0 0 0 0 0 0 0
Vector Functions 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 Range Define 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 Range We 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 Modifications We 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 Modifications We 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
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 Example Let'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 in columns 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
>> 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 Example: Extracting Elements >> B = A(1:3, 2:4) B = 3 5 7 4 6 8 6 9 12
>> C = A(1:3 , : ) C = 1 3 5 7 2 4 6 8 3 6 9 12 Example: Extracting Elements >> 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.