the integral of the Bessel function in Matlab

13 ビュー (過去 30 日間)
mery
mery 2022 年 7 月 7 日
編集済み: Torsten 2022 年 7 月 8 日
I try to calculate the integral of the Bessel function in Matlab
syms r a b k
assume(a>0)
assume(k>0 & k<1)
L=int(log(r)*(besselj(0,a*r)+b*bessely(0,a*r)),r,k,1)
L = 
but I have this error (Invalid limits given : (k, 1)) i.e. I have a problem in log(r) but the k checks (0<k<1) I don't know how to set this condition (0<k<1) in Matlab to get the correct result.
how can I calculate this integral with this condition?

採用された回答

Torsten
Torsten 2022 年 7 月 8 日
Seems there is no analytical solution for this integral (see MATLAB output above).
Give values to the variables and use numerical integration:
a = 1;
b = 2;
k = 0.5;
L = integral(@(r)log(r).*(besselj(0,a*r)+b*bessely(0,a*r)),k,1)
L = -0.0605
  6 件のコメント
mery
mery 2022 年 7 月 8 日
I did it but without a result, I still have an error I don't know why
Torsten
Torsten 2022 年 7 月 8 日
編集済み: Torsten 2022 年 7 月 8 日
What error ? You now have an expression for L that you can directly insert instead of
L = int(log(r)*(besselj(0,a*r)+b*bessely(0,a*r)),r,k,1)

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

その他の回答 (0 件)

カテゴリ

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

製品


リリース

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by