dsolve/inttrans
integral transform methods for solutions of ordinary differential equations
Calling Sequence
Parameters
Description
Examples
dsolve(deqns, vars, method=transform)
dsolve(deqns, vars, method=transform, options)
deqns
-
ordinary differential equation in vars, or set of equations and/or initial conditions
vars
variable or set of variables to be solved for
method=transform
literal equation, one of laplace, fourier, fouriercos, fouriersin
options
optional equations
Invoking the dsolve command with the options method=transform causes a solution to be found by way of one of the integral transform methods.
When adding the optional equation pointwise=true to dsolve, the desired solution should satisfy the initial conditions in a pointwise manner. This guarantees that the solution evaluates to the specified initial conditions at the initial point. By default this is false, which means that the input conditions are satisfied in a distributional manner (that is, applied as specified by the transform itself). This is most relevant when the input differential equations have distributional functions present (Dirac and Heaviside functions). For an example that illustrates the difference between these approaches see the Examples section below.
Caution must be used, as some of the transforms (most notably the fourier-type transforms) are only well defined for solutions with certain asymptotic properties.
Also note that for the one-sided transforms (fouriersin, fouriercos, and laplace) the solution may only be valid to the right of the initial condition.
For example, when solving a second order constant coefficient ode using the fouriersin transform, the solution y(t) must vanish as t -> infinity. This restriction is in fact one of the boundary conditions of the problem, so only one other boundary condition can be applied.
Some guidelines for using transforms for the solution of second-order constant coefficient ODE with initial point a are as follows.
fourier transform: the solution y(t) of the ODE (defined for all t) must be bounded as t approaches +/- infinity. No other boundary conditions can be applied.
fouriersin transform: the solution y(t) of the ODE (defined for t>=a) must be bounded as t approaches +infinity, and y(a) can be specified.
fouriercos transform: the solution y(t) of the ODE (defined for t>=a) must be bounded as t approaches +infinity, and D(y)(a) can be specified.
laplace transform: the solution y(t) of the ODE (defined for t>=a) must be sub-exponential, and both y(a) and D(y)(a) can be specified.
Additionally, care must be taken when choosing integral transform methods to obtain a solution to an ODE or ODE system. For example, use of fourier-type transforms for problems with polynomial coefficients may require the solution of another differential equation of higher differential order (see example below).
de1≔diff⁡y⁡t,`$`⁡t,2+5⁢diff⁡y⁡t,t+6⁢y⁡t=0
de1≔ⅆ2ⅆt2y⁡t+5⁢ⅆⅆty⁡t+6⁢y⁡t=0
dsolve⁡de1,y⁡0=0,D⁡y⁡0=1,y⁡t,method=laplace
y⁡t=ⅇ−2⁢t−ⅇ−3⁢t
de2≔diff⁡y⁡t,t−y⁡t=exp⁡−t2
de2≔ⅆⅆty⁡t−y⁡t=ⅇ−t2
dsolve⁡de2,y⁡t,method=fourier
y⁡t=π⁢ⅇt+14⁢erf⁡t+12−12
F≔t↦Heaviside⁡3−t⋅A
assume⁡0<h
de3≔diff⁡y⁡t,t,t−h⁢y⁡t=F⁡t
de3≔ⅆ2ⅆt2y⁡t−h~⁢y⁡t=Heaviside⁡3−t⁢A
dsolve⁡de3,D⁡y⁡0=1,y⁡t,method=fouriercos
y⁡t=A⁢ⅇ−3⁢h~⁢cosh⁡h~⁢t−1⁢Heaviside⁡3−th~−A⁢Heaviside⁡t−3⁢ⅇ−h~⁢t⁢sinh⁡3⁢h~h~−ⅇ−h~⁢th~
de4≔diff⁡y⁡t,t,t−h⁢y⁡t=F⁡t
de4≔ⅆ2ⅆt2y⁡t−h~⁢y⁡t=Heaviside⁡3−t⁢A
dsolve⁡de4,y⁡0=1,y⁡t,method=fouriersin
y⁡t=−A⁢ⅇ−h~⁢t−3+ⅇh~⁢t−3−2⁢Heaviside⁡t−32⁢h~−A⁢ⅇ−h~⁢t+3−A⁢ⅇh~⁢t−3−2⁢A⁢ⅇ−h~⁢t−2⁢ⅇ−h~⁢t⁢h~+2⁢A2⁢h~
However this gives no solution (over-specified):
dsolve⁡de4,y⁡0=0,D⁡y⁡0=1,y⁡t,method=fouriersin
Now a counter-productive transform:
de5≔diff⁡y⁡t,t,t+t8⁢y⁡t=exp⁡−t2
de5≔ⅆ2ⅆt2y⁡t+t8⁢y⁡t=ⅇ−t2
inttranssetup⁡computederivatives=false
computederivatives=false
inttransfourier⁡de5,t,z
−z2⁢`?`+∂8∂z8`?`=ⅇ−z24⁢π
You would now have an 8th order ODE to solve.
Attempting to use the fourier transform with initial conditions yields no solution:
de6≔diff⁡y⁡x,x,x+y⁡x=x2⁢sin⁡x
de6≔ⅆ2ⅆx2y⁡x+y⁡x=x2⁢sin⁡x
dsolve⁡de6,y⁡0=1,y⁡x,method=fourier
The following ODE has different solutions depending on whether 'pointwise'=true has been specified.
de7≔diff⁡x⁡t,t,t+4⁢x⁡t=Dirac⁡t
de7≔ⅆ2ⅆt2x⁡t+4⁢x⁡t=Dirac⁡t
sol7a≔dsolve⁡de7,x⁡0=0,D⁡x⁡0=0,x⁡t,method=laplace
sol7a≔x⁡t=sin⁡2⁢t2
So the solution as provided does not satisfy the initial conditions in a pointwise fashion, as can be seen from
eval⁡diff⁡sol7a,t,t=0
ⅆⅆtx⁡tt=0|ⅆⅆtx⁡tt=0=1
To instead enforce the conditions to be pointwise satisfied, the following can be used:
sol7b≔dsolve⁡de7,x⁡0=0,D⁡x⁡0=0,x⁡t,method=laplace,pointwise=true
sol7b≔x⁡t=0
eval⁡diff⁡sol7b,t,t=0
ⅆⅆtx⁡tt=0|ⅆⅆtx⁡tt=0=0
See Also
dsolve[ck45]
dsolve[classical]
dsolve[dverk78]
dsolve[gear]
dsolve[lsode]
dsolve[numeric]
dsolve[piecewise]
dsolve[rkf45]
dsolve[taylorseries]
inttrans
plots[odeplot]
Download Help Document