1
$\begingroup$

I would like to implement fractional derivative in my simulation model. Most of the literature I find, discuss techniques of evaluating the fractional derivative using constant time-steps. Are there any methods which consider unequal time-steps and evaluate the fractional derivative because the solver of my simulation software does not guarantee a constant time-step.

I understand what a fractional derivative does basically. I am in search of a discrete approximation or any other numerical method to evaluate the fractional derivative of a function (say $x$) with respect to the simulation time. As far as I know, I shall consider the values of $x$ at various time steps (till the current simulation time is reached) and then evaluate the fractional derivative. The problem I have is that there are methods (like Grunwald Coefficients, etc.) which consider equal time step increments. But my solver does not have equal timesteps; instead, it selects the timestep based on the convergence of the solution. Let us assume a simulation time of 5 seconds with 500 number of timesteps. The methods I went through so far assume a time step of (5/500), i.e. 0.01s. So there the simulation time is as follows 0.01, 0.02, 0.03...., 4.99, 5.00. But what if my solver simulation time is as follows 0.01, 0.015, 0.024,..., 4.50, 5.00 where the increment is not a constant value? I want to know if there are any methods to solve such a case.

The fractional derivative is defined as follows. Please click here to see the definition

  • 0
    I'm not quite sure what you want. Could you try to elaborate?2017-01-24
  • 0
    @gkhandavalli : What fractional derivative do you mean ? Is it this : http://mathworld.wolfram.com/FractionalDerivative.html2017-01-24
  • 0
    Approach it from a differintegral perspective. You can integrate with unequal step sizes, then do a regular derivative on top of that.2017-01-24
  • 0
    @CameronWilliams Can you please elaborate?2017-01-26
  • 0
    @JJacquelin Yeah. But I need a discrete approximation2017-01-27
  • 0
    Well, everybody understand that you need a discrete approximation. But an approximation of what ? You didn't answer to my request for clarification.2017-01-28
  • 0
    @JJacquelin I have added some extra part in the question. Please read it and let me know which part you are unclear about.2017-01-29
  • 0
    Apparently, you don't understand what clarification I am asking for. So, I will (for the last time) rewrite my request on a form as simple as possible : Please write down the definition of "Fractional derivative" that you intend to use.2017-01-29
  • 0
    Also, please, answer by YES or NO to this question : Is your fractional derivative exactly as in : http://mathworld.wolfram.com/FractionalDerivative.html and in http://mathworld.wolfram.com/FractionalIntegral.html ?2017-01-29
  • 0
    @JJacquelin YES, it is the same fractional derivative I am talking about.2017-01-29
  • 0
    @JJacquelin. I added a new equation showing my exact equation in my post.2017-01-29
  • 0
    Thank you very much. Now it's clear for me. In fact, I wanted to make sure that you use the definition of fractional derivative that I am used to, i.e. : the Riemann-Liouville transform : $\frac{d^\nu}{dt^\nu}f(t)=\frac{1}{\Gamma(-\nu)}\int_0^t \frac{f(\tau)}{(t-\tau)^{\nu+1}}d\tau$ In this case, the numerical integration can be carried out with constant time-steps. There is no need for ready-made software. On can use an home-made software.2017-01-29
  • 0
    I was afraid that your question was about a different method. That is why I insisted to make it clear. Obviously, your problem is different from what I am used to. So, unfortunately, I cannot give proper advice about the software you use. Sorry for that.2017-01-29
  • 0
    @JJacquelin Can you give me some insights on how it can be done for the Riemann-Liouville transform. I will see if I can use it for my application with changes to my simulation environment.2017-01-29

1 Answers 1

0

This isn't the expected answer, this is a response to a comment, but too long to be posted in the comments section.

If we consider the fractional derivative on non-integer degree $\nu$ of $f(t)$, in the sens of the Riemann-Liouville transform : $$\frac{d^\nu}{dt^\nu}f(t)=\frac{1}{\Gamma(-\nu)}\int_0^t \frac{f(\tau)}{(t-\tau)^{\nu+1}}d\tau$$ a possible way to numerical calculus could be as follows.

Since it is generally less problematic in numerical process to traite fractional integrals than fractional derivatives, we make first a partial integration of degree $(\mu+1)$, so that

$$\mu=n-\nu-1 \quad \text{with}\quad \begin{cases} 0<\mu<1 \\ n \quad \text{integer}\quad\to\quad n=\lceil \nu \rceil+1 \end{cases}$$

$$\frac{d^\nu}{dt^\nu}f(t)=\frac{d^n}{dt^n}\left(\frac{d^{-(\mu+1)}}{dt^{-(\mu+1)}}f(t)\right)=\frac{d^n}{dt^n}\left(\frac{1}{\Gamma(\mu+1)}\int_0^t \frac{f(\tau)}{(t-\tau)^{-\mu}}d\tau\right)$$ So, the integral to be numerically computed is: $$F(t)=\int_0^t f(\tau)(t-\tau)^{\mu}d\tau$$ Since $\mu>0$ there is no particular problem for the numerical integration (with constant time-steps if the time data is on this form).

Finally, $n$ successive derivations have to be done with classical means for numerical computation of derivatives. $$\frac{d^\nu}{dt^\nu}f(t)=\frac{1}{\Gamma(\mu+1)}\frac{d^n}{dt^n}F(t)$$ Note that it is supposed that the initial value of time is $t=0$. If not, a generalized form of Riemann-Liouville transform has to be considered allowing a no-null value for the low boundary of the integral.

Of course, one can think up to many variants around this process.