Integration of a function with modified Bessel function of the first kind.

2 views (last 30 days)
Hi,
I want to create the function mentioned below on matlab:
Where all the variables are defined numbers (k,s=1,p=6,nc=84,..), W`k is a complex vector and Iν(z) is the modified Bessel function of the first kind.
The integral is function of z.
I'm trying to get the intergral values(not considering the log factor in this case).
f = @(z) ((exp(-s.*z.*((p.*nc)+Sigma2^-2)))./((norm(avg_ww(kk,:)).*sqrt(p.*nc.*z)).^(nc-1))).*besseli(nc-1,2.*s.*(norm(avg_ww(kk,:)).*sqrt(p.*nc.*z))).*besseli(0,2.*s.*(1./Sigma2).*sqrt(z.*abs(Uh)^2));
upper_limit = linspace(0.1,40); % upper limit of the integral (randomly chosen)
xval = arrayfun(@(uplim) integral(f, 0, uplim, 'ArrayValued',true), upper_limit);
Can you please advise if my integration is correct? because it doesn't feel like it
  2 Comments
David Goodmanson
David Goodmanson on 2 Jun 2020
Edited: David Goodmanson on 10 Jun 2020
Hi Anthony,
Youd had better go back and check your parentheses placements, because right now I_0(...) is part ot the argument of the I_(nc-1) bessel function. That may not be the only bad one, I don't know.
Anthony Koussaifi
Anthony Koussaifi on 2 Jun 2020
Hi David,
Thank you for this remarque, kindly note that I fixed it in my code and the original post.
I will try to run a few test, and come back with a feedback
Thank you again!

Sign in to comment.

Answers (0)

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!