lecture 7 sept 19, 11 goals: two-dimensional arrays (continued) matrix operations circuit analysis...
Post on 21-Dec-2015
217 views
TRANSCRIPT
Lecture 7 Sept 19, 11
Goals:
• two-dimensional arrays (continued)
• matrix operations
• circuit analysis using Matlab
• image processing – simple examples
• Chapter 4 exercises
Reshaping Arrays
• Arrays are actually stored in column order in Matlab. So internally, a 2 × 3 array is stored as a column vector:
A(1,1)
A(2,1) A(1,2) A(2,2) A(1,3) A(2,3)
• Any n × m array can be reshaped into any p × q array as long as n*m = p*q using the reshape function.
Exercise: Write a code segment in Matlab to create a 10 by 10 identity matrix.
Matrix operationsMatrix addition, multiplication, inverse, determinant etc.
Matrix operationsMatrix addition, multiplication, inverse, determinant, transpose etc.
Logical indexing in 2-dim matrices
Exercise: Solve a linear system of equations: 3x + 5y – 6z= 11 4x – 6y + z = 9 -2x + 3y + 5z = –13
Sum, max, min, size etc.
Example 2
4.3. Mixed Data Types
Structure is a variable that can hold a group of data (of different types).
Example:
Array of structuresExample:
Images as arrays
Images as arrays
Numerical representation of array (gray scale image)
Visual representation
Reading and opening an image
Selecting a subimage
Just like we can copy a part of an array into another array, we can
copy a part of one image and create a new image.
Changing some pixel values in an image
Saving images in different formats
Image formats:
• jpeg, bmp, png etc.
>> imwrite(I, ‘king.bmp’)
will save I in bmp format.
image rotation
Exercise: Write a one-line statement in Matlab that will rotate an image by 180 degrees.
image rotation
Exercise: Write a one-line statement in Matlab that will rotate an image by 180 degrees.
>> J = I(size(I,1):-1:1, :, :);
Discussions and exercises, Chapter 4
Exercise 4.1
Exercise 4.2
Write statements to do the following operations on a vector x:
1)Return the odd indexed elements.
Exercise 4.2
Write statements to do the following operations on a vector x:
2) Return the first half of x.
Exercise 4.2
Write statements to do the following operations on a vector x:
3) Return the vector in the reverse order.
Exercise 4.3
Given a vector v, and a vector k of indices, write a one or two statement code in Matlab that removes the elements of v in positions specified by k.
Example:>> v = [1, 3, 5, 7, 11, 9, 19]>> k = [2, 4, 5]>> < your code here>>> vans = 1, 5, 9, 19
Exercise 4.3
Given a vector v, and a vector k of indices, write a one or two statement code in Matlab that removes the elements of v in positions specified by k.
Exercise 4.4 what does Matlab output for the following commands?
1) 6 ~= 1 : 10
2) (6 ~= 1) : 10
Exercise 4.4 what does Matlab output for the following commands?
1) 6 ~= 1 : 10
2) (6 ~= 1) : 10
Exercise 4.5. (This is quite tricky, especially without using a loop construct like while or for.)
Write a statement to return the elements of a vector randomly shuffled.
Hint provided is a useful one.
First understand how sort function works.
Exercise 4.5. (This is quite tricky, especially without using a loop construct like while or for.)
Write a statement to return the elements of a vector randomly shuffled.
Hint provided is a useful one.
Solution: r = rand(length(x)); [rsort, indices] = sort(x); x(indices)
Exercise 4.6.
Write a statement in Matlab to perform the following operations on a vector x:
• return the odd indexed elements of x followed by even indexed elements of x.
Exercise 4.7.
x = reshape(0:2:71, 3, 12). Find the index of 52.
SummaryThis chapter introduced you to vectors and arrays. For each collection, you saw how to:
■ Create them by concatenation and a variety of special-purpose functions
■ Access and remove elements, rows, or columns■ Perform mathematical and logical operations on
them■ Apply library functions, including those that
summarize whole columns or rows■ Move arbitrary selected rows and columns from
one array to another■ Reshape arrays■ read an image, modify the array representation,
view, save an image etc.■ use Matlab to solve circuit analysis problems.