Why does the LAPLACE function not work for certain exponential expressions in Symbolic Math Toolbox?
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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
MathWorks Support Team
il 1 Lug 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 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Symbolic Math Toolbox in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!