EGR 115 Introduction to Computing for Engineers MATLAB Basics 3: Array Operations Monday 08 Sept...

11
EGR 115 Introduction to Computing for Engineers MATLAB Basics 3: Array Operations Monday 08 Sept 2014 EGR 115 Introduction to Computing for Engineers

Transcript of EGR 115 Introduction to Computing for Engineers MATLAB Basics 3: Array Operations Monday 08 Sept...

Page 1: EGR 115 Introduction to Computing for Engineers MATLAB Basics 3: Array Operations Monday 08 Sept 2014 EGR 115 Introduction to Computing for Engineers.

EGR 115 Introduction to Computing for Engineers

MATLAB Basics 3: Array Operations

Monday 08 Sept 2014 EGR 115 Introduction to Computing for Engineers

Page 2: EGR 115 Introduction to Computing for Engineers MATLAB Basics 3: Array Operations Monday 08 Sept 2014 EGR 115 Introduction to Computing for Engineers.

Lecture Outline

Monday 08 Sept 2014 EGR 115 Introduction to Computing for Engineers

• Data files,• Array Operations, and• Some of the built in functions

Slide 2 of 10

Page 3: EGR 115 Introduction to Computing for Engineers MATLAB Basics 3: Array Operations Monday 08 Sept 2014 EGR 115 Introduction to Computing for Engineers.

MATLAB basicsData files: Saving data

Monday 08 Sept 2014 EGR 115 Introduction to Computing for Engineers

• Often as engineers we will need to save the results of an analysis task or load data from a test procedure.

• MATLAB allows data to be saved from a session>> save filename var1 var2 var3

o A file called “filename.mat” will be created– This is a compact binary data file (not human readable)

o Var1 and Var2 refer to variables in the workspace

It is also possible to save to an ASCII data file (human readable)

>> save filename.txt var1 var2 -ascii

Slide 3 of 10

Page 4: EGR 115 Introduction to Computing for Engineers MATLAB Basics 3: Array Operations Monday 08 Sept 2014 EGR 115 Introduction to Computing for Engineers.

Creates the file “my_data.mat” in your

current working directory

MATLAB basicsData files: Loading data from files

Monday 08 Sept 2014 EGR 115 Introduction to Computing for Engineers

• The load function is the complement of save and can retrieved data from a file>> load filename.mat

• An example:>> a = [1 2 3 4]; % variable 1>> b = [4; 8]; % variable 2>> save my_data a b; % Save variables ‘a’ and ‘b’>> clear all; % Clear the workspace>> load my_data; % Load the variables from the file

o Note that the variables are removed from the workspace and reappear after being loaded!!

Slide 4 of 10

Try saving both a and b to “my_data.txt” as an ascii file – Open the file

Page 5: EGR 115 Introduction to Computing for Engineers MATLAB Basics 3: Array Operations Monday 08 Sept 2014 EGR 115 Introduction to Computing for Engineers.

MATLAB basicsArray Operations

Monday 08 Sept 2014 EGR 115 Introduction to Computing for Engineers

• Array Addition (c = a + b) Only makes sense if ‘a’ and ‘b’ are the same size

An Example:

Slide 5 of 10

, , ,i j i j i jc a b

1 2 3 1 1 3

4 5 6 0 1 0

7 8 9 5 2 10

Col indexRow index

2 1 0

4 6 6

2 10 1

Page 6: EGR 115 Introduction to Computing for Engineers MATLAB Basics 3: Array Operations Monday 08 Sept 2014 EGR 115 Introduction to Computing for Engineers.

MATLAB basicsArray Operations - Multiplication

Monday 08 Sept 2014 EGR 115 Introduction to Computing for Engineers

• Array Multiplication (c = a * b) Only makes sense if ‘a’ and ‘b’ are compatible

o Number of columns of ‘a’ must be the same as the number of rows of ‘b’– A nXm matrix times a mXr matrix yields a nXr matrix

An Example: (a is a 2X3 matrix and ‘b’ a 3X4, thus ‘c’ is 2X4)

Slide 6 of 10

1 1 3 21 2 3

0 1 0 14 5 6

5 2 10 0

14

14 7

14 7 33

14 7 33 4

14 7 33 4

26 13 72 13

What is the result of: >> c = b * a ???

Create two square matrices ‘a’ & ‘b’: Is a* b = b * a ?

Page 7: EGR 115 Introduction to Computing for Engineers MATLAB Basics 3: Array Operations Monday 08 Sept 2014 EGR 115 Introduction to Computing for Engineers.

MATLAB basicsArray Operations – Element by Element Multiplication

Monday 08 Sept 2014 EGR 115 Introduction to Computing for Engineers

• Element by Element Array Multiplication (c = a .* b) Only makes sense if ‘a’ and ‘b’ are exactly the same size

An Example: (a is a 2X3 matrix and ‘b’ a 2X3, thus ‘c’ is 2X3)

Slide 7 of 10

1 2 3 1 3 2

4 5 6 1 0 1

1 6 6

4 0 6

Page 8: EGR 115 Introduction to Computing for Engineers MATLAB Basics 3: Array Operations Monday 08 Sept 2014 EGR 115 Introduction to Computing for Engineers.

MATLAB basicsArray Operations – Matrix Division?

Monday 08 Sept 2014 EGR 115 Introduction to Computing for Engineers

• Matrix Division (c = a / b or c = a * inv(b)) Actually performing

o ‘b’ must be square (and non-singular) to be invertible

An Example: (a is a 3X2 matrix and ‘b’ a 2X2, thus ‘c’ is 3X2)

Slide 8 of 10

1 3

1 0b

1

1 20 1

3 41/ 3 1/ 3

5 6

c ab

1 2

3 4

5 6

a

1 0 1

1/ 3 1/ 3b

2 / 3 1/ 3

4 / 3 5 / 3

2 3

What is the result of: >> c = inv(b) * a ???

Page 9: EGR 115 Introduction to Computing for Engineers MATLAB Basics 3: Array Operations Monday 08 Sept 2014 EGR 115 Introduction to Computing for Engineers.

MATLAB basicsSome of the built in Functions

Monday 08 Sept 2014 EGR 115 Introduction to Computing for Engineers Slide 9 of 10

Page 10: EGR 115 Introduction to Computing for Engineers MATLAB Basics 3: Array Operations Monday 08 Sept 2014 EGR 115 Introduction to Computing for Engineers.

MATLAB basicsSome of the built in Functions

Monday 08 Sept 2014 EGR 115 Introduction to Computing for Engineers Slide 10 of 10

• Some of the built in functions

Page 11: EGR 115 Introduction to Computing for Engineers MATLAB Basics 3: Array Operations Monday 08 Sept 2014 EGR 115 Introduction to Computing for Engineers.

Next Lecture

Monday 08 Sept 2014 EGR 115 Introduction to Computing for Engineers

• Intro to Plotting

Slide 11 of 10