- #1

- 27

- 0

In using centered difference approximation of O(h2) to estimate the first derivative at x=0.7 of:

f(x) = -0.25x^5+0.15x^4-1.25x^3+0.35x^2+2.1x-1.4

I have posted the script I have so far bellow:

clear;clc;clear all

ff=@(x) -0.25*x^5+0.15*x^4-1.25*x^3+0.35*x^2+2.1*x-1.4;

df=@(x) -1.25*x^4+0.6*x^3-3.75*x^2+0.7*x+2.1;

function diffex(func,dfunc,x,n)

format long

dftrue=dfunc(x);

h=1;

H(1)=h;

D(1)=(func(x+h)-func(x-h))/(2*h);

E(1)=abs(dftrue-D(i));

for i=2:n

h=h/10;

H(i)=h;

D(i)=(func(x+h)-func(x-h))/(2*h);

E(i)=abs(dftrue-D(i));

end

L=[H' D' E']';

fprintf(' step size finite difference round-off error\n');

fprintf('%14.10f %16.14f %16.13f\n',L);

loglog(H,E),xlabel('Step Size'),ylabel('Error')

title('Plot of Error vs. Step Size')

format short

diffex(ff,df,0.7,11)

Any advice, pointers or suggestions will be greatly appreciated!

thank you