Symbolic integration of Marcumq.

7 ビュー (過去 30 日間)
Hello all.
I need to evaluate the integral of the product of a Bessel function and a Marcum Q function, which MATLAB cannot do numerically. So, the only option is to do it numerically in MATHEMATICA and use the value in my MATLAB code. But this appears to be very complex given the structure of my equation. Is there any way out?
Any suggestion will be helpful. Thanks!
  5 件のコメント
Priyadarshi Mukherjee
Priyadarshi Mukherjee 2021 年 10 月 13 日
Oh... I am sorry. In the process of simplifying my expression to state here, I omitted some index by mistake. Here is the thing:
Stuck in this for quite some time now.
On a different note, I was trying if the following helps:

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

採用された回答

Walter Roberson
Walter Roberson 2021 年 10 月 13 日
編集済み: Walter Roberson 2021 年 10 月 13 日
Using the online tool here, execution can get through the calculation of "outer", but the integrals might take a while.
Could you fill out the Release (Version) field on the right? There are some approaches that became available in newer releases.
What is the order of magnitude of the sizes of the vector?
N = 10;
syms alpha [1 N] real
syms beta [1 N] real
syms gamma [1 N] real
syms delta [1 N] real
syms epsilon [1 N] real
syms a b x x_1 x_th Z real
I0(Z) = besseli(0,Z)
MQ1(a,b) = int(x * exp((a^2-x^2)/2) * I0(a*x),x,b,inf)
inner = repmat(1 - MQ1(delta(:) .* x_1, epsilon(:)), 1, N);
inner(1:N+1:end) = 1;
inner_prod = prod(inner(2:end,:),1);
COL = @(X) X(:);
outer = x_1 .* exp(-COL(beta(2:end)) .* x_1.^2) .* I0(COL(gamma(2:end))) .* inner_prod;
outer_int = int(outer, x_1, 0, x_th);
wanted_value = sum(COL(alpha(2:end)).*outer_int);
  8 件のコメント
Priyadarshi Mukherjee
Priyadarshi Mukherjee 2021 年 10 月 16 日
Got it! I really appreciate your help. Thank you.

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

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by