I wrote a user-defined function in matlab that is supposed to take the derivative of a function f(x) in the point that correspond to (x,f(x)). Here's the code(adsbygoogle = window.adsbygoogle || []).push({});

Obviously if you insert a real small tolerance (f(x(ii)+h)-f(x(ii))) would be zero even if the derivative is not zero. I'm trying to come up with something but I just don't know what to do.Code (Text):

function [fprime]=numderivative(f,x,h,tol)

hd=h*10^-1;

hh=h;

hhdd=hd;

itnum=numel(x);

error=tol+1;

for ii=1:itnum

while error>tol

fprime1=(f(x(ii)+h)-f(x(ii)))/h;

fprime2=(f(x(ii)+hd)-f(x(ii)))/hd;

error=abs(fprime1-fprime2);

h=h*10^-1;

hd=h*10^-1;

end

fprime(ii)=fprime1;

h=hh;

hd=hhdd;

error=tol+1;

end

Need help.

Thanks

link

**Physics Forums - The Fusion of Science and Community**

# Derivative function in matlab

Have something to add?

- Similar discussions for: Derivative function in matlab

Loading...

**Physics Forums - The Fusion of Science and Community**