Why does the LAPLACE function not work for certain exponential expressions in Symbolic Math Toolbox?

3 ビュー (過去 30 日間)
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)

採用された回答

MathWorks Support Team
MathWorks Support Team 2011 年 7 月 1 日
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 件)

カテゴリ

Help Center および File ExchangeSymbolic Math Toolbox についてさらに検索

タグ

製品


リリース

R2010a

Community Treasure Hunt

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

Start Hunting!

Translated by