Ask MATLAB Expert

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.

MATLAB, Engineering

  • Category:- MATLAB
  • Reference No.:- M93072612

Have any Question?


Related Questions in MATLAB

Assignment - matlab programmingusing appropriate matlab

Assignment - MatLab Programming Using appropriate MatLab syntax, write the code required to analyse and display the data as per the problem description. The order of the MatLab Program should be as follows: Variables and ...

Assignment details -need to write a code for connecting

Assignment Details - Need to write a code for connecting segments (Lines) a special case of TSP. The problem is to connect lines in 2d/ 3d space with path obstructions. Can you help me write the code for this? Hope you m ...

Assignment -we have daily gridded rainfall data of 40 years

Assignment - We have daily gridded rainfall data of 40 years and structure of the dataset is like below; Lat = [6.5:0.25:38.5]; Lon = [66.5:0.25:100]; Rainfall (135x129x365x40) (Lon, Lat, days, years). Now, we looking fo ...

Question a safe prime is a prime number that can be written

Question : A safe prime is a prime number that can be written in the form 2p + 1 where p is also a prime number. Write a MATLAB script file that finds and displays all safe primes between 1 and 1000.

Question - verify the attached paper with matlab and get

Question - Verify the attached paper with matlab and get all the results in the paper and explain step by step the matlab code. Paper - Improving Massive MIMO Belief Propagation Detector with Deep Neural Network. Attachm ...

Assignment -data is given on which want to do computational

Assignment - Data is given on which want to do computational production planning using Metaheuristic MATLAB Programming: 1) Ant Colony Algorithm on both Partial and Total Flexible Problem. 2) Bee Algorithm on both Partia ...

What comparison of means test was used to answer the

What comparison of means test was used to answer the question

Question 1 manipulate spectral imagehyperspectral images

Question 1. Manipulate spectral image Hyperspectral images can be seen as a generalisation of normal colour images such as RGB images. In a normal RGB colour image, there are 3 channels, i.e. channels for red colour, gre ...

Assignment -matlab codes and simulated model in

Assignment - Matlab codes and simulated model in simulink/matlab and truetime. 1. Matlab codes and simulink model for pid controller optimization using particle swarm optimization (PSO) my plant is integer order 1000/(s^ ...

Assignment matlab programmingusing appropriate matlab

Assignment: MatLab Programming Using appropriate MatLab syntax, write the code required to analyse and display the data as per the problem description. The order of the MatLab Program should be as follows: Variables and ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As