290 likes | 401 Views
Welcome to EGR 106 Foundations of Engineering II. Course information Today’s specific topics: Computation and algorithms M ATLAB Basics Demonstrations Material in textbook chapter 1. Computation. What is computation? Examples: 3 + 2 tan 40 o
E N D
Welcome to EGR 106 Foundations of Engineering II • Course information • Today’s specific topics: • Computation and algorithms • MATLAB • Basics • Demonstrations • Material in textbook chapter 1
Computation • What is computation? • Examples: 3 + 2 tan 40o • Computation = “transformation from one or more inputs to an output”
Human Computation • “Simple” computations (trivial to us) • Adding 2 single digit numbers • Recognizing a letter of the alphabet • Comparing 2 numbers for <, =, > • “Harder” computations (based on simple) • Adding 3 or more numbers • Reading a word • Sorting a list of numbers
Algorithms • Definition: “a set of directions for carrying out a computation in terms of other, simpler computations” • “Simpler computations” = ones that we already know how to do
Example • Memorizing addition tables in grammar school
Computer Computation • Very fast at arithmetic operations • Algorithms = computer programs • Need to understand what computations are “simple” for the computer • Need to write a clear set of directions to be followed • Build more complicated computations from intermediate ones
Examples • Find the smallest in a list of number • Sort a list of numbers • Some for discussion/thought (first two from Kaplan, Introduction to Scientific Computation and Programming)
Sort a List of Numbers: Note reuse!
Some Others…. • Adding numbers expressed in Roman numerals LXVI + XXXIV = ??? • Find the 2nd smallest number in a list • Convert the month/day into day of the year Feb 15 = day 46
MATLAB – What is it ? • Name is from matrix laboratory • Powerful tool for • Computation and visualization of engineering and science mathematics • Communication of ideas • Programming: • Built-in editor, debugger, and help • Many predefined functions (grouped in toolboxes) • Interpreted or compiled programs
Today is “beginning MATLAB”, sort of like “beginning French”: • We start with basic terminology • We consider the simplest of computations • We do computation in interpreter mode (the “enter” key invokes/runs/executes the operation requested) • Chapter 1 of Gilat • Pages 5-22
The MATLAB Environment • Data represented in arrays • Organized by row and column indices • Use variable names for them • Multi-paned desktop: • Command window • Workspace browser • Current directory • Other windows: Figure, File Editor, Help, ….. More next week
The Command Window • Command prompt >> • Basic math operations are available: addition + subtraction – division / multiplication * exponentiation ^ “enter” key “executes” or “runs” or “invokes” the operation • Operator precedence: PEMDAS 5 – 4 + 3 ^ 4 / ( 3 – 1 ) = ?
Finite precision mathematics !! • By default, 5 significant digits are shown, with exponential notation as needed • Results of NaN, Inf, possible
Allows Stored Variables • The equal sign is an assignment operator c = 7.5 bob3 = 3.7789 • There are naming restrictions: Connected symbols, starting with a letter Make them unique Some are predefined for special values or uses: pi inf flops j i ans for
Combining Operations and = • Generally, computation requires 3 pieces of information: • The operator? • The inputs? • What to do with the output? • MATLAB storing the result in a variable • Accomplished by the equal sign, = Specified on the right hand side of an equal sign
For these examples, 2 and 4 are the input and addition is the operation No specification of the output; the default is to put it into the variable named ans The output is assigned to the variable named bob bob is again the destination of the result, we’ve just used functional style notation for the computation
Note that = is not really an equal sign, but is an assignment operator The computation on the right can be trivial Here the computation is done using bob, then the result is put into variable bob An error results since we’ve got things on the wrong sides of the assignment operator
Other Useful Operations • abs(x) ceil(x) exp(x) fix(x) • sign(x) floor(x) log(x) round(x) • sqrt(x) conj(x) log10(x) rem(x,y) • sin(x) sinh(x) tan(x) atan2(x,y) • asin(x) acosh(x) atan(x) sec(x) • sind(x) • many more exist !!
Examples Square roots Note that trig functions generally work in radians, not degrees In general, all variables are complex numbers
Bits and Pieces • Other useful system commands: • clear, clc – diary • help, lookfor – who, whos • Semicolon (;) suppresses the displaying of the result of a computation • Arrow keys allow for editing of prior commands • PC version (network license) is available from ECC help desk for $10
Plotting Basics • Figure window commands: figure, figure(3), clf, close • plot(x,y) in which x and y are “arrays” • Annotation commands: title('the title goes here') xlabel('the x axis label goes here') ylabel('the y axis label goes here')
Now for Some Demos! • Simple demos of variables and math • “Demos” at the command line • A simple gui of a bouncing ball