IINNTTRROODDUUCCTTIIOONN TTOO SSCCIIEENNTTIIFFIICC ... · IINNTTRROODDUUCCTTIIOONN TTOO...

13
INTRODUCTION TO SCIENTIFIC & ENG. INTRODUCTION TO SCIENTIFIC & ENG. COMPUTING COMPUTING BIL 108E, CRN 44448 BIL 108E, CRN 44448 Week.4_ Algorithms and Logic Operators Algorithms 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 1 NUMERICAL DATA TYPES IN MATLAB NUMERICAL DATA TYPES IN MATLAB 2 ERRORS ERRORS Feyzi Haznedaroglu week #4 2 3 LOOPS LOOPS 4 ALGORITHMS ALGORITHMS 5 DATA ANALYSIS DATA 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 – 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 × base exponent 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

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