Why does the LAPLACE function not work for certain exponential expressions in Symbolic 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)

 Risposta accettata

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)

Più risposte (0)

Prodotti

Release

R2010a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by