Compute the machine epsilon for the floating point system

Assignment Help MATLAB Programming
Reference no: EM132085139

Introduction to Computational Mathematics Assignment - Matlab and Finite Precision Arithmetic

1. Matlab: prime numbers.

Write a function sol=myprime(n), which returns 1 if natural number n is prime and 0 otherwise. Note that, by convention, 0 and 1 are not considered prime numbers. Use the command mod to check whether a number divides n. Test your code with n=0, n=1, n=5 and n=25 and report the results.

2. Matlab: comparing elements of two matrices.

Write a function num=howmanybigger(A,B) that does the following. If the dimensions of the matrices A and B do not match, it uses the error command to break with an appropriate error message. Otherwise it returns the number of elements in A which are bigger than the elements in B at the corresponding positions.

Submit a script test howmanybigger.m that tests your code with

2266_figure.png

and report the results.

3. Floating point number system.

On a computer with a binary number system, the distance between 7 and the next larger floating point number is 2-12. What is the (exact) distance between 71 and the next largest floating point number?

4. Avoiding catastrophic cancellation.

Consider the expression - zA = 1/(√(1 + x2) -√(1 - x2)).

(a) Explain why the formula for zA is susceptible to catastrophic cancellation errors for x close to 0.

(b) Use reformulation to find an alternative expression zB for expression zA in a way that avoids catastrophic cancellation for x close to 0. (Hint: p2 - q2 = (p-q)(p+q).)

(c) Illustrate how algorithm B that uses the reformulated expression zB you propose improves the accuracy for calculations in the floating point system F[b = 10, m = 4, e = 1] with rounding, compared to algorithm A based on the original expression zA. Use x = 1.234 · 10-3.

(c1) Find a highly accurate approximate value for zA(x) = zB(x) (for example by calculating the expression in Matlab; for our purposes it does not matter much whether you use expression zA or zB to compute this highly accurate value).

(c2) Compute the machine epsilon for the floating point system (with rounding!).

(c3) Find the value of z¯A, obtained by evaluating the original expression zA in the floating point system.

(c4) Find the value of z¯B, obtained by evaluating the reformulated expression zB in the floating point system.

(c5) Compute the relative errors in the approximations of zA and zB relative to the highly accurate value for zA = zB,

|δzA| = |(zA - z¯A)/zA|

and

|δzB| = |(zB - z¯B)/zB|.

Compare the two relative errors to each other, and compare them to the machine epsilon. Explain how this illustrates that the alternative expression succeeds in avoiding the catastrophic cancellation step, showing that algorithm B is a numerically stable algorithm to compute zA = zB, while algorithm A based on the original expression is numerically unstable.

5. Matlab: recursion

It can be convenient to solve a problem recursively. A recursive function is a function that calls itself. The following function sums up the numbers from m to n in an unusual (recursive) way.

function rs=recursivesum(m,n)

if (n>m)

rs=m+recursivesum(m+1,n)

elseif (n==m)

rs=m;

else

rs=0;

end

end

(a) Copy this code into function recursivesum.m. Report and explain what gets printed to the screen when you invoke recursivesum(1,5), and why it is printed in that order.

(b) Next, write a function nf=recursivefactorial(n), which computes the factorial of n in a recursive way.

(c) Test your code with n=0, n=1 and n=5 and report the results.

Reference no: EM132085139

Questions Cloud

Provide analysis of energy production processes : Provide an analysis of Energy Production Processes and the Policy and Legal Issues in Energy Production prevalent in the business world.
Is there a way that the central limit theorem : Is there a way that the central limit theorem could be applied to an economic situation or help the economists with their researches?
Balance in a bank account after three years : What will be the balance in a bank account after three years if a man deposits in the account 10,000 and the bank pays an annual simple interest of 10%
Review problem on long-term liabilities : Use the Internet or Strayer online databases to research companies like Philip Morris International, Medtronic Inc., Plains All American Pipeline LP.
Compute the machine epsilon for the floating point system : MTH2051/3051 Introduction to Computational Mathematics Assignment- Matlab & Finite Precision Arithmetic, Monash University, Australia. Compute machine epsilon
What will be the function and goals of the development group : What will be the function and goals of the Development group? What will be the function and goals of the Development group?
What will your classroom look and feel like : What will your classroom look and feel like? In what ways you will actively work to include all students in your class and curriculum?
Determine the key factors use to prepare the analysts : Use the Internet or Strayer online databases to research one (1) publicly traded company, which analysts have examined and ranked.
What the researchers were doing was wrong : If there were an equivalent body that functioned like an IRB, given the study was being conducted by a department of the U.S. Government.

Reviews

len2085139

8/12/2018 11:30:14 PM

Question 5 is only for students enrolled in MTH3051 (not forMTH2051 students). Late submissions will be subject to late penalties (see the unit guide for full details). Please submit the hardcopy of your completed assignment in the assignment box of your tutorial class. A printout of the Matlab code for the programming exercises as well as relevant output are to be submitted as part of your hardcopy submission. In addition, collect all your Matlab m-files in one zip or rar-file and submit this file through Moodle. The Moodle submission is due at the same time as the hardcopy submission.

len2085139

8/12/2018 11:30:07 PM

Additional instructions: A Matlab function functionname must be saved as functionname.m. Matlab provides commands such as factorial and isprime, which solve or partly solve some of the problems below. Do not use these high-level commands. Some of the following problems involve natural numbers to be provided by the user. You may assume that these input parameters are indeed natural numbers. You will not receive marks for code that cannot be executed or produces results different from those submitted in the hardcopy.

len2085139

8/12/2018 11:30:01 PM

What to hand in When submitting your hardcopy assignment package to the assignment box of your tutorial class you should include - Complete written or typed answers to the questions. Results and plots generated by your Matlab programs, and printouts of your Matlab code. In addition, make sure to also submit your Matlab programs on Moodle. Marks will be awarded for code correctness (also make sure to include well-chosen comments in your code; it should be easy for anybody to read and understand your program; also, please use proper indentation in your code).

Write a Review

MATLAB Programming Questions & Answers

  Finite difference method

Use the finite difference method to calculate the temperature at the point specified since it is easier.

  Determine the necessary shell temperature

In a shell-and-tube heat exchanger, one fluid passes through a central tube while another fluid flows through an outer shell in the opposite direction. The purpose is to heat the fluid passing through the central tube.

  Find the integral of a function at an arbitrary location

Write a Matlab function to perform numerical integration of a set of evenly spaced data points using the trapezoidal rule

  Compute the speed of single-stage planetary gear train

Write a MATLAB function [speed] = planetary (N, emesh, first, last, arm) that computes the speed of a given link in a single-stage planetary gear train.

  Calculate and plot the error in the numerical derivative

Write a program to calculate and plot the error in the numerical estimate of the derivative.

  Create the graph using matlab functions

Create the graph, which contains a piecewise function where a line exists in the first interval, a parabola in the second interval, and the sine function in the third interval.

  Develop a simulation program

Develop a simulation program

  Create a vector in matlab

Create a three dimensional diagram of function.

  Open a named pipe and to read data from the pipe

Open a named pipe and to read data from the pipe in matlab

  Write the commands that will create the matrix

Write the commands that will create the matrix.

  Lagrange interpolating polynomial of degree

Lagrange interpolating polynomial of degree

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd