MATLAB: Does the LAPLACE function not work for certain exponential expressions in Symbolic Math Toolbox

ltmapleMATLABsymSymbolic Math Toolbox

The Laplace transform does not work for certain expressions that contain exponentials. Given below is an expression that I am trying to transform.
syms t s; alfa=0.7;
h = 1;nn=0;
a=1./(sqrt((2.^nn).*(prod(1:nn))));
b=(alfa./pi).^(1/4);
c=exp(-((alfa./2).*(t.^2)));
h = a.*b.*c.*h;
sq_norm=h*h';
WH0= h/sqrt(sq_norm);
LP_WH0=laplace(WH0)

Best Answer

This is due to a limitation of the Symbolic Math Toolbox. The Symbolic Math Toolbox should be able to compute the result. However, a missing internal simplification step inside the MuPAD Symbolic engine's implementation of the LAPLACE transformation causes the failure in the transformation.
An assumption that 't' is a real number needs to be set in order to make MuPAD/MATLAB produce the desired result. This would ideally be done automatically, since the assumption about 't' being Real is quite natural in the context of Laplace transforms.
As a workaround try the following:
In MATLAB:
syms t real; % Define t as Real
syms s; alfa=0.7;
h = 1;nn=0;
a=1./(sqrt((2.^nn).*(prod(1:nn))));
b=(alfa./pi).^(1/4);
c=exp(-((alfa./2).*(t.^2)));
h = a.*b.*c.*h;
sq_norm=h*h';
WH0= h/sqrt(sq_norm);
LP_WH0=laplace(WH0);
LP_WH0 = simple(LP_WH0)
In MuPAD:
assume(t in R_):
r:= transform::laplace(3094188846841933/4503599627370496*exp(-7/20*t^2)/(9574004619921011112067487176489/20282409603651670423947251286016*exp(-7/20*t^2)*exp(-7/20*conjugate(t)^2))^(1/2), t, s):
Simplify(r)
Related Question