Calculate and plot the error in the numerical derivative

Assignment Help MATLAB Programming
Reference no: EM13529

1. This problem is intended to demonstrate some problems that can arise from the finite precision of numerical calculations performed with computers. We will do this by approximating the derivative of a function. The definition of the derivative of the function f(x) is:

2440_Definition of the derivative of the function.png

We can approximate this with the computer by allowing ?x to be a finite number. Thus, the numerical approximation to the derivative of the function can be determined from:

1674_Definition of the derivative of the function1.png

The error between the actual derivative and its approximation is dependent upon both x and ?x:

175_Definition of the derivative of the function2.png

Write a program to calculate and plot the error in the numerical estimate of the derivative according to equation (3), for the function
f(x)=ex . (Note that the analytical derivative of this function is  f'(x)=ex ). Use x = 1 and ?x = {100 , 10-1, 10-2 ,..., 10-13 }.


Use logarithmic scales on both the x-axis and y-axis of your plot (you may find the MATLAB command loglog helpful). Create a Microsoft Word document named homework8.doc and paste into it your plot of error vs. ?x. Also in your MS Word document, comment on your results - especially relative to the behavior of the error as ?x increases.

2. There are many approaches to numerically estimating the derivative of the function.

The relationship:

2223_Definition of the derivative of the function3.png

is called a forward difference, since the estimate of the derivative at the point x is generated from the value of the function at x and the value of the function at x+?x (a point forward from x). A backward difference formula estimates the derivative at the point x is from the value of the function at x and the value of the function at x-?x (a point backward from x) as follows:

2244_Definition of the derivative of the function4.png

A central difference formula uses values of the function on either side of the point x in order to estimate the value of the function at x, as follows:

632_Definition of the derivative of the function5.png

The central difference formula has the advantage that it is more accurate, for a given ?x, than the forward or backward difference formulas.

In this problem, we will use a combination of the above techniques to estimate the derivative of a function from a set of measured data points. We will use the following algorithm to estimate the derivative of the function:

where fk is the value of the function at the kth data point, fk′ is the estimate of the derivative of the function at the kth data point, N is the total number of data points, and ?x is the spacing between data points. Note that we are using a forward difference formula for the first data point, a backward difference formula for the last data point, and a central difference formula for all other data points.

Your implementation of the above algorithm should include the following:

(a) Write a Matlab function which implements the above algorithm to estimate the derivative of a function described by a set of data points. Your function should accept two inputs:

• the first input is an N-element vector containing the measured values of the function (the fks)

• the second input is the spacing between data points ( ?x )

Your function should return an N-element vector containing the estimated derivative of the function. The size of the vectors should be determined by your function. Your function does not need to do any error checking on the inputs.

(b) Write a script file which uses the function you created in part (a) to calculate and plot the derivative of the function )x sin( )x(f π 2 = , for 1 0 ≤ ≤ x . Your script file should do the following:

i. Create data points for f(x) and use your function to estimate its derivative with ?x =0.1

ii. Create data points for f(x) and use your function to estimate its derivative with ?x  =0.01

iii. Calculate the exact value of the derivative of f(x) for 1 0 ≤ ≤ x at increments of ?x =0.01

iv. Plot the above three sets of data on a single figure. Include a legend to indicate which line corresponds to which case, and label the vertical and horizontal axes appropriately.

Reference no: EM13529

Questions Cloud

Estimate the residual value and perform firm valuation : Estimate the Residual Value and perform the corresponding firm valuation.
Write a report on im operations governance : Write a report on IM operations governance
Issues in telecommunications : Creating, sharing, and managing knowledge for innovation and Service - Managing service strategies and service innovation.
Describe the types of financial ratios : Describe the types of financial ratios and other financial performance measures that are used during venture's successful life cycle.
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.
Phising email : Phising email It is multipart, what are the two parts? The HTML part, is it inviting the recepient to click somewhere? What is the email proporting to do when the link is clicked?
Solve the initial value problem : Use Laplace transformation to solve the initial value problem
Create a custom application using eclipse : Create a custom Application Using Eclipse Android Development
Planning and decision making : Types of Information Technology Capabilities and Competitive Advantage

Reviews

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.

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