Engineering Analysis ENG 3420 Fall 2009 Dan C Marinescu Office HEC 439 B Office hours Tu Th 11 00 12 00 Lecture 6 Last time Internal representations of numbers and characters in a computer Today Arrays in Matlab Matlab program for solving a quadratic equation Roundoff and truncation errors More on Matlab Next Time More on approximations Lecture 6 2 Accuracy versus Precision Accuracy how closely a computed or measured value agrees with the true value Precision how closely individual computed or measured values agree with each other a b c d inaccurate and imprecise accurate and imprecise inaccurate and precise accurate and precise 3 Errors when we know the true value True error Et the difference between the true value and the approximation Absolute error Et the absolute difference between the true value and the approximation True fractional relative error the true error divided by the true value Relative error t the true fractional relative error expressed as a percentage For iterative processes the error can be approximated as the difference in values between successive iterations 4 Stopping criterion Often we are interested in whether the absolute value of the error is lower than a pre specified tolerance s For such cases the computation is repeated until a s 5 Roundoff Errors Roundoff errors arise because Digital computers have size and precision limits on their ability to represent numbers Some numerical manipulations are highly sensitive to roundoff errors 6 Floating Point Representation By default MATLAB has adopted the IEEE double precision format in which eight bytes 64 bits are used to represent floating point numbers n 1 f x 2e The sign is determined by a sign bit The mantissa f is determined by a 52 bit binary number The exponent e is determined by an 11 bit binary number from which 1023 is subtracted to get e 7 Floating Point Ranges Values of 1023 and 1024 for e are reserved for special meanings so the exponent range is 1022 to 1023 The largest possible number MATLAB can store has f of all 1 s giving a significand of 2 2 52 or approximately 2 e of 111111111102 giving an exponent of 2046 1023 1023 This yields approximately 21024 1 7997 x 10308 The smallest possible number MATLAB can store with full precision has f of all 0 s giving a significand of 1 e of 000000000012 giving an exponent of 1 1023 1022 This yields 2 1022 2 2251x 10 308 8 Floating Point Precision The 52 bits for the mantissa f correspond to about 15 to 16 base 10 digits The machine epsilon the maximum relative error between a number and MATLAB s representation of that number is thus 2 52 2 2204 x 10 16 9 Roundoff Errors in Arithmetic Operrations Roundoff error occur Large computations if a process performs a large number of computations roundoff errors may build up to become significant Adding a Large and a Small Number Since the small number s mantissa is shifted to the right to be the same scale as the large number digits are lost Smearing Smearing occurs whenever the individual terms in a summation are larger than the summation itself x 10 20 x 10 20 mathematically but x 1 x 1e 20 x gives a 0 in MATLAB 10 Truncation Errors Truncation errors result from using an approximation in place of an exact mathematical procedure Example 1 approximation to a derivative using a finitedifference equation dv v v t i 1 v t i dt t t i 1 t i Example 2 The Taylor Series 11 The Taylor Series 3 n f x f x f xi n 2 3 i i f x i 1 f x i f x i h h h L h Rn 2 3 n 12 13 Truncation Error In general the nth order Taylor series expansion will be exact for an nth order polynomial In other cases the remainder term Rn is of the order of hn 1 meaning The more terms are used the smaller the error and The smaller the spacing the smaller the error for a given number of terms 14 Functions Function out1 out2 funname in1 in2 function funname that Before calling a function you need to accepts inputs in1 in2 etc returns outputsout1 out2 etc Example function r1 r2 i1 i2 quadroots a b c Use the edit window and create the function Save the edit window in a m file e g quadroots m Example function mean stdev stat x n length x mean sum x n stdev sqrt sum x mean 2 n 15 Subfunctions A function file can also contain a primary function and one or more subfunctions The primary function is listed first in the M file its function name should be the same as the file name Subfunctions are listed below the primary function only accessible by the main function and subfunctions within the same M file and not by the command window or any other functions or scripts Example of a subfunction function mean stdev stat x n length x mean avg x n stdev sqrt sum x avg x n 2 n function mean avg x n mean sum x n avg is a subfunction within the file stat m 17
View Full Document