IINNTTRROODDUUCCTTIIOONN TTOO SSCCIIEENNTTIIFFIICC ... · IINNTTRROODDUUCCTTIIOONN TTOO...
Transcript of IINNTTRROODDUUCCTTIIOONN TTOO SSCCIIEENNTTIIFFIICC ... · IINNTTRROODDUUCCTTIIOONN TTOO...
INTRODUCTION TO SCIENTIFIC & ENG.INTRODUCTION TO SCIENTIFIC & ENG.COMPUTINGCOMPUTING
BIL 108E, CRN 44448BIL 108E, CRN 44448
Week.4_ Algorithms and Logic OperatorsAlgorithms and Logic Operators
Dr. Feyzi HAZNEDAROĞLU
İstanbul Teknik Üniversitesi - İnşaat Fakültesi
Room : 250A, e-mail :[email protected]
04-03-2011
LECTURE # 4
11 NUMERICAL DATA TYPES IN MATLABNUMERICAL DATA TYPES IN MATLAB
22 ERRORSERRORS
Feyzi Haznedaroglu week #4 2
33 LOOPSLOOPS
44 ALGORITHMSALGORITHMS
55 DATA ANALYSISDATA ANALYSIS
BITS, BYTES AND WORDS
VARIABLES ARE REPRESENTED BY WORDS,
COMPOSED OF BYTES,
COMPOSED OF BITS
– BIT = elemental circuit, ON (1) / OFF (0)
– BYTE = string of 8 BITS
Feyzi Haznedaroglu week #4 3
– BYTE = string of 8 BITS
– WORD = string of N BYTES
(partially controllable by the programmer)
BITS, BYTES AND WORDS
Feyzi Haznedaroglu week #4 4
NUMERICAL DATA TYPES IN MATLAB
Feyzi Haznedaroglu week #4 5
NUMERICAL DATA TYPES IN MATLAB
Significant digits × baseexponent
Feyzi Haznedaroglu week #4 6
NUMERICAL DATA TYPES IN MATLAB
(FPU) Kayan noktalı sayılar
Feyzi Haznedaroglu week #4 7
NUMERICAL DATA TYPES IN MATLAB
Feyzi Haznedaroglu week #4 8
DIGITAL STORAGE OF INTEGERS
Feyzi Haznedaroglu week #4 9
DIGITAL STORAGE OF NON–INTEGER NUMBERS
Feyzi Haznedaroglu week #4 10
IEEE STANDARD
(Bir sayının logaritmasının ondalık bölümü)
Feyzi Haznedaroglu week #4 11
DIGITAL STORAGE OF NUMBERS
• Limiting the number of bits allocated for storage of theexponentexponent means that there are upper and lower limits onthe magnitude of floating point numbers
• Limiting the number of bits allocated for storage of the
Feyzi Haznedaroglu week #4 12
• Limiting the number of bits allocated for storage of themantissamantissa means that there is a limit to the precision(number of significant digits) for any floating pointnumber.
ERRORS
Feyzi Haznedaroglu week #4 13
ERRORS
Feyzi Haznedaroglu week #4 14
ERRORS
Feyzi Haznedaroglu week #4 15
ERRORS
Feyzi Haznedaroglu week #4 16
ERRORS
Feyzi Haznedaroglu week #4 17
ERRORS
Feyzi Haznedaroglu week #4 18
ERRORS
Feyzi Haznedaroglu week #4 19
ERRORS
Feyzi Haznedaroglu week #4 20
ERRORS
Feyzi Haznedaroglu week #4 21
ERRORS
Feyzi Haznedaroglu week #4 22
ERRORS
Feyzi Haznedaroglu week #4 23
ERRORS
LOGIC ERRORS
• Try to run the program for some special cases where youknow the answer.
• If you don’t know any exact answer, use your insight to
Feyzi Haznedaroglu week #4 24
• If you don’t know any exact answer, use your insight tocheck whether the answer seems to be of the right orderof magnitude.
• Try working through the program by hand to see if youcan spot where things start going wrong.
(Yuvarlama)
ERRORS
ROUNDING ERRORS
• Finite-precision leads round-off in individual calculations
• Effects of round-off accumulate slowly
Feyzi Haznedaroglu week #4 25
• The round-off errors are inevitable, solution is to createbetter algorithms
• Subtracting nearly equal may lead to severe loss ofprecision
ERRORS
Feyzi Haznedaroglu week #4 26
NUMERICAL DATA TYPES IN MATLAB
Feyzi Haznedaroglu week #4 27
NUMERICAL DATA TYPES IN MATLAB
Feyzi Haznedaroglu week #4 28
NUMERICAL DATA TYPES IN MATLAB
Feyzi Haznedaroglu week #4 29
ERRORS
Feyzi Haznedaroglu week #4 30
PRECISION AND ACCURACY
Feyzi Haznedaroglu week #4 31
FLOW CONTROL
Feyzi Haznedaroglu week #4 32
FLOW CONTROL
Feyzi Haznedaroglu week #4 33
LOOPS
Feyzi Haznedaroglu week #4 34
LOOPS
Feyzi Haznedaroglu week #4 35
LOOPS
• On completion of the for loop the index contains the last value used.
• If the vector (j(j :: kk)) or (j(j :: mm :: kk)) is empty, statements are not executedand control passes to the statement following end.
• If the index does appear explicitly in statements, the for can often bevectorized. It runs faster.
• It is good programming style to indent (tabulate) the statements
Feyzi Haznedaroglu week #4 36
• It is good programming style to indent (tabulate) the statementsinside a for loop.
LOOPS
Feyzi Haznedaroglu week #4 37
LOOPS
Feyzi Haznedaroglu week #4 38
LOOPS
Feyzi Haznedaroglu week #4 39
LOOPS
Feyzi Haznedaroglu week #4 40
LOOPS
Feyzi Haznedaroglu week #4 41
LOOPS
Feyzi Haznedaroglu week #4 42
LOOPS
Feyzi Haznedaroglu week #4 43
LOOPS
Feyzi Haznedaroglu week #4 44
LOOPS
Feyzi Haznedaroglu week #4 45
LOOPS
Feyzi Haznedaroglu week #4 46
LOOPS
Feyzi Haznedaroglu week #4 47
LOOPS
Feyzi Haznedaroglu week #4 48
LOOPS
Feyzi Haznedaroglu week #4 49
LOOPS
Feyzi Haznedaroglu week #4 50
CONDITIONAL STATEMENTS
Feyzi Haznedaroglu week #4 51
CONDITIONAL STATEMENTS
Feyzi Haznedaroglu week #4 52
CONDITIONAL STATEMENTS
Feyzi Haznedaroglu week #4 53
CONDITIONAL STATEMENTS
Feyzi Haznedaroglu week #4 54
CONDITIONAL STATEMENTS
Feyzi Haznedaroglu week #4 55
CONDITIONAL STATEMENTS
Feyzi Haznedaroglu week #4 56
ERRORS
Feyzi Haznedaroglu week #4 57
CONDITIONAL STATEMENTS
Feyzi Haznedaroglu week #4 58
CONDITIONAL STATEMENTS
Feyzi Haznedaroglu week #4 59
CONDITIONAL STATEMENTS
Feyzi Haznedaroglu week #4 60
CONDITIONAL STATEMENTS
Feyzi Haznedaroglu week #4 61
CONDITIONAL STATEMENTS
Feyzi Haznedaroglu week #4 62
ERRORS
Feyzi Haznedaroglu week #4 63
CONDITIONAL STATEMENTS
Feyzi Haznedaroglu week #4 64
CONDITIONAL STATEMENTS
Feyzi Haznedaroglu week #4 65
CONDITIONAL STATEMENTS
(İçiçe kullanım)
Feyzi Haznedaroglu week #4 66
CONDITIONAL STATEMENTS
Feyzi Haznedaroglu week #4 67
CONDITIONAL STATEMENTS
Feyzi Haznedaroglu week #4 68
CONDITIONAL STATEMENTS
Feyzi Haznedaroglu week #4 69
CONDITIONAL STATEMENTS
Feyzi Haznedaroglu week #4 70
LOOPS
Feyzi Haznedaroglu week #4 71
LOOPS
Feyzi Haznedaroglu week #4 72
LOOPS
Feyzi Haznedaroglu week #4 73
LOOPS
Feyzi Haznedaroglu week #4 74
LOOPS
Feyzi Haznedaroglu week #4 75
LOOPS
Feyzi Haznedaroglu week #4 76
LOOPS
Feyzi Haznedaroglu week #4 77
LOOPS
Feyzi Haznedaroglu week #4 78
LOOPS
BREAKBREAK, CONTINUE AND RETURN, CONTINUE AND RETURN
• The break and return statements provide an alternative way to exitfrom the flow of the program.
•• CContinueontinue passespasses control to the nextnext iterationiteration of for or while loop andskipsskips anyany remainingremaining statementsstatements in the body of the loop.
Feyzi Haznedaroglu week #4 79
skipsskips anyany remainingremaining statementsstatements in the body of the loop.
•• BBreakreak is used toto escapeescape fromfrom anan enclosingenclosing whilewhile oror forfor looploop.Execution continues at the end of the enclosing loop construct.
•• RReturneturn is used toto forceforce anan exitexit fromfrom aa functionfunction. This can have theeffect of escaping from a loop. Any statement following the loop thatare in the function body are skipped (Next week ”Functions”).
LOOPS
Feyzi Haznedaroglu week #4 80
LOOPS
Feyzi Haznedaroglu week #4 81
LOOPS
Feyzi Haznedaroglu week #4 82
PROGRAM DESIGN AND ALGORITHM
Feyzi Haznedaroglu week #4 83
PROGRAM DESIGN
Feyzi Haznedaroglu week #4 84
DESIGN PROCESS
Feyzi Haznedaroglu week #4 85
DESIGN PROCESS cont’d.
Feyzi Haznedaroglu week #4 86
DESIGN PROCESS
Feyzi Haznedaroglu week #4 87
DESIGN PROCESS
Feyzi Haznedaroglu week #4 88
DESIGN PROCESS
Feyzi Haznedaroglu week #4 89
DESIGN PROCESS
Feyzi Haznedaroglu week #4 90
DESIGN PROCESS
Feyzi Haznedaroglu week #4 91
DESIGN PROCESS
Feyzi Haznedaroglu week #4 92
DESIGN PROCESS
Feyzi Haznedaroglu week #4 93
DESIGN PROCESS
Feyzi Haznedaroglu week #4 94
DESIGN PROCESS
EXAMPLE cont’d
Feyzi Haznedaroglu week #4 95
DESIGN PROCESS
Feyzi Haznedaroglu week #4 96
DESIGN PROCESS
Feyzi Haznedaroglu week #4 97
DESIGN PROCESS
Feyzi Haznedaroglu week #4 98
DESIGN PROCESS
Feyzi Haznedaroglu week #4 99
DATA ANALYSIS FUNTIONS
Feyzi Haznedaroglu week #4 100
DATA ANALYSIS FUNTIONS
Feyzi Haznedaroglu week #4 101
DATA ANALYSIS FUNTIONS
Feyzi Haznedaroglu week #4 102
References - Week 4
1 Alfio Quarteroni, Fausto Saleri, Scientific Computing withMatlab and Octave, Wissenschaftliches Rechnen mit Matlab, ,Springer Verlag, 2006.
2 Cleve Moler, Numerical Computing with Matlab, Mathworks,2008.
Feyzi Haznedaroglu week #4 103
2008.
3 Brian Hahn, Daniel T.Valentine, Essential Matlab forEngineers and Scientists, Elsevier, 2010.
Have a nice Week End