Problem computing inverse Laplace transform of the Bessel function

16 ビュー (過去 30 日間)
Kevin B
Kevin B 2017 年 11 月 11 日
回答済み: BeeTiaw 2020 年 8 月 5 日
I am trying to evaluate the inverse Laplace transform of a function that includes the modified Bessel function of the second kind, i.e., my function is f_s = sqrt(a*s)*besselk(1,2*sqrt(a*s)), where a is a constant (say a = 0.5) and 's' is defined as a symbol. To evaluate the inverse Laplace transform of this function, I used the built-in Matlab function 'ilaplace' as transV = ilaplace(f_s,s,t), where I want to evaluate my function at 't' = 2. However, the problem I am getting is that the inverse transformed expression transV still contains 's' variable, which I supposed to transform to 't' after the inverse Laplace transform.
Can anyone help me with what is the problem with this approach? I checked the Matlab documentation and still couldn't figure out the solution. I already tried using 'vpa' function as it was suggested in one of the Matlab forums, but that didn't help to get rid of 's'. I am stuck with this and would really appreciate any help on it.
My code is
a = 0.5; t = 2;
syms s;
f_s = 1/s*sqrt(a*s)*besselk(1,2*sqrt(a*s));
transV = ilaplace(f_s,t); % or transV = vpa(ilaplace(f_s,t));
With this, the final result transV still has an expression which is a function of 's' although it should be transformed after ilaplace.
  2 件のコメント
David Goodmanson
David Goodmanson 2017 年 11 月 11 日
Hi Kevin,
It appears that the result is just a slightly different inverse laplace transform that the toolbox can't do either. Might not exist in closed form.
Kevin B
Kevin B 2017 年 11 月 11 日
Hi David,
Thanks for your suggestion. Yes, the closed form solution seems not to exist. I tried Mathematica to check if it can help but without success. For me, the numerical solution is fine for now and I am not able to get that either. Do you have any further suggestions to get the numerical solution? Thanks a ton!

サインインしてコメントする。

採用された回答

Walter Roberson
Walter Roberson 2017 年 11 月 11 日
Maple says that for a > 0, the result is (1/2)*exp(-a/t)
  3 件のコメント
Walter Roberson
Walter Roberson 2017 年 11 月 11 日
Under the assumption that a1, a2, a3, a4, s are all > 0, then
(1/2)*(BesselK(1, 2*a2^(1/2)*a3^(1/2)/t)*exp((-a3-a2)/t)*a2^(1/2)*a3^(1/2)+BesselK(1, 2*a1^(1/2)*a4^(1/2)/t)*exp((-a4-a1)/t)*a4^(1/2)*a1^(1/2)+BesselK(1, 2*a2^(1/2)*a4^(1/2)/t)*exp((-a4-a2)/t)*a4^(1/2)*a2^(1/2)+BesselK(1, 2*a1^(1/2)*a3^(1/2)/t)*exp((-a3-a1)/t)*a1^(1/2)*a3^(1/2))/t
Kevin B
Kevin B 2017 年 11 月 12 日
Thank you so much!

サインインしてコメントする。

その他の回答 (1 件)

BeeTiaw
BeeTiaw 2020 年 8 月 5 日

カテゴリ

Help Center および File ExchangeCalculus についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by