Document 1333610

Download Report

Transcript Document 1333610

MATLAB FUNDAMENTALS:

MATRIX/ARRAY FUNCTIONS THE COLON MATRIX/ARRAY MANIPULATION INPUT/OUTPUT HP 100 – MATLAB Wednesday, 9/3/2014 www.clarkson.edu/class/honorsmatlab

Before We Begin:

 Any Questions? Comments? Concerns?

 Feel free to contact Joe or Jim  We can set up small group tutoring or one-on-one  You can email us with any questions or concerns  We are here for you! Even if it isn't about MATLAB

Quote/Video of the Week

 “ English is ambiguous. If someone said, ‘ The horse flies like the devil, ’ they could either be advising me on a horse race, or merely commenting on the rising tide of Satanism among some insects.

” - Professor Felland Foundations of Mathematics https://www.youtube.com/watch?v=I15bDqhkxwE

Matrix/Array Functions

 A = [1 1 1; 1 1 1]

A = 1 1 1 1 1 1

  B = [0 0; 0 0; 0 0]

B = 0 0 0 0 0 0

C = [1 1; 1 1]

C = 1 1 1 1

Matrix/Array Functions

 A = ones(2,3)

A = 1 1 1 1 1 1

  B = zeros(3,2)

B = 0 0 0 0 0 0

C = ones(2)

C = 1 1 1 1

Matrix/Array Functions

 Built in Commands/Functions: See Tables 3.5,6,7  max : Maximum Value  min : Minimum Value  mean  median  sum  prod : Mean Value : Median Value : Sum of Vector : Product of Vector

Matrix/Array Functions

 Sorting Functions  sort  sortrows  Size Functions  size  length Table 3.8

Table 3.9

Dimensions of Array Largest Dimension

Special Values / Misc.

 The following have special meanings:  pi - The constant 3.141592 …  i,j  Inf - Imaginary Number - Infinty, or overflow  NaN - Not a number, Undefined (0/0)  clock - [year month day hour minute seconds]  date

The Colon Operator

 Used for:  Creating Vectors  Referencing arrays  Future applications [loops]

Creating Vectors

 A = [2 4 6 8 10 12]

A = 2 4 6 8 10 12

 B = [2:2:12]

B = 2 4 6 8 10 12

 C = [4:6:30]

C = 4 10 16 22 28

The Colon Operator  Let:

A = 2 9 -3 10 -4 13 1 6

 A(2,3) =  A(1, :) =  A(:, 3) =  A(:, 1:2:4) =

The Colon Operator   Built-in function –

A =

end

4 7 13 5 2 6 1 9 8

A(:,end)= [13; 6; 8]  A(end,end) = 8  diag(A) = [4; 2; 8]

Matrix/Array Manipulation

 You can define new arrays or matrices in terms of other arrays or matrices.

 This can be tricky, but always try to say it out loud and visualize what is happening.

I/O – Input / Output

 Definition:  Hardcoding: Setting variables equal to particular numbers in the code.

 Example:  Calculate the square root of a number.

  number = 100; sqrt_of_number = sqrt(number);  The code snippet always calculates the square root of 100, unless you manually change the code.

 What if we want to do it for the number the user chooses (whomever is using your program/code)?

I/O – Input / Output

 Methods:  Ask the user for input through the command window.

 Load data from files.

 Function inputs (We will get to this in a few weeks.)  Input Command:  number = input('Please Specify a Number: ');

I/O – Input / Output

 Loading data from files:  Many different ways, depending on what type of file it is. We do this in the future.

 Use the load command.

I/O – Input / Output

  Calculations, Manipulation, Calculations…  We Still need to display our Results Methods:  Display in the command window  Good for quick solutions, small amount of data.

 Commands: disp fprintf  Write the results to a file.

 Great for processing and saving lots of information.

 A bit harder to do, can be highly customized.

 Commands: fprintf save

I/O – Input / Output

 Command: disp  Example:    x = 5; Converts a number to a string.

disp(x); disp(['The value of x is ' num2str(x) ‘ . Cool Ehh?

’ ]); Tells MATLAB to combine everything inside together into an array, in this case, a character array Things inside of single quotation marks are strings, or just simply text (stored as plain text)

I/O – Input / Output

 Command: fprintf  This can be used to either print out to the command window or write to a file.

 This is saved for your own reading/learning.

 It ’ s another way to display, also. It allows for more formatting and pretty outputs

Example Code Time

 The Golf Ball Example  Please take note of lots of little things that are done, they add to the readability and to the end results being pretty  Problem Description:  Calculate the X-Position and Y-Position of a golf ball hit with an initial speed and angle. Assume constant acceleration from gravity and no drag. Also find the maximum height and display the results.

Homework

 Please review/read:  Chapter 3, Chapter 4  It is very important to review the tables indicated and go through the example problems.

 Please do:  3.4, 4.1, 4.6

Before you go…

 Do Problem 4.1 in the book