Delay Differential Equations and the Lambert W Function Continued…
In order to get a more firm grasp on the Lambert W function and how it can be used to solve delay differential equations, let’s consider a system with a scalar state and a delay on the input to the system.
In this case is the system input. In traditional differential equation language, this is a non-homogeneous delay differential equation (similar to the first post but this time there is also a non-delay term). So, let’s have the state be fed back into the system (state-feedback system), so that
Thus, the original equation becomes
If we assume a solution of the form , the equation becomes
Collecting terms and dividing out
Clearly cannot equal zero, thus the portion of the equation in the parentheses must equal zero. Thus, after re-arranging,
Thus, using the Lambert W function,
Stability of the differential equation is thus determined by using the principal branch of the Lambert W function.
The Lambert W function for a scalar can be evaluated in Matlab with the following commands.
lambertw(k,expression), or in this case,
This process for a system of delay differential equations is the same as that for a scalar delay differential equation (as shown in the first Lambert W post). However, the difference lies in the evaluation of the Lambert W function for a matrix as opposed to a scalar. More on the DDE systems in the next post.