Title: Welcome to EGR 106 Foundations of Engineering II
1Welcome to EGR 106 Foundations of Engineering II
- Course information
- Todays specific topics
- Computation and algorithms
- MATLAB
- Basics
- Demonstrations
- Material in textbook chapters 1 2
2Computation
- What is computation?
- Examples 3 2
- tan 40o
- Computation transformation from one or more
inputs to an output
3Human Computation
- Simple computations (trivial to us)
- Adding 2 single digit numbers
- Recognizing a letter of the alphabet
- Comparing 2 numbers for lt, , gt
- Harder computations (based on simple)
- Adding 3 or more numbers
- Reading a word
- Sorting a list of numbers
4Algorithms
- 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
5Example
- Memorizing addition tables in grammar school
6Permits multi-digit addition
7Computer 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
8Examples
- 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)
9Find the Smallest
10(No Transcript)
11Sort a List
Note reuse!
12(No Transcript)
13Some 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
14MATLAB 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
15- 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) - Chapters 1 2 of Gilat
- Pages 5-22, 27-28, 31-32
16The 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 in a few minutes
17(No Transcript)
18The Command Window
- Command prompt gtgt
- 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 ) ?
19(No Transcript)
20- Finite precision mathematics !!
- By default, 5 significant digits are shown, with
exponential notation as needed - Results of NaN, Inf, possible
21Allows 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
22Combining 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
23For 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, weve
just used functional style notation for the
computation
24Note 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 weve got things on the
wrong sides of the assignment operator
25Other 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 !!
26Examples
Square roots
Note that trig functions generally work in
radians, not degrees
In general, all variables are complex numbers
27Arrays
- Fundamental data unit in Matlab
- all variables are considered to be arrays
- Data values organized into rows and columns
- numeric or alphanumeric entries
- each element has position and value
28- Size or dimension number of rows and columns of
the array - written as R by C or R x C
- where R number of rows
- C number of columns
- e.g.
- yield is 3 by 4
-
-
- test is 1 by 5
29- Value or size and class are shown in the
workspace window
30- Names for special sizes
- scalar 1 x 1 array 4 or 4
- row vector 1 x C array
- 9 7 5 4 2 is a 1 x 5
row vector - column vector R x 1 array
- is a 3 x 1 column vector
31- matrix R x C array with R gt 1, C gt 1
- If R C ? square matrix
- each row must have the same number of entries
- If R C 0 ? null matrix (a pair of empty
brackets) -
32Bits 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
33Plotting 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')
34Now for Some Demos!
- Simple demos of variables and math
- Demos at the command line
- A simple gui of a bouncing ball