Derivative function in matlab

  1. 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
    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
    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.
    Need help.

    Thanks
    link
     
  2. jcsd
Know someone interested in this topic? Share a link to this question via email, Google+, Twitter, or Facebook

Have something to add?

0
Draft saved Draft deleted
Similar discussions for: Derivative function in matlab
Loading...