Why does the LAPLACE function not work for certain exponential expressions in Symbolic Math Toolbox?
2 views (last 30 days)
Show older comments
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)
Accepted Answer
MathWorks Support Team
on 1 Jul 2011
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)
0 Comments
More Answers (0)
See Also
Categories
Find more on Symbolic Math Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!