Clear Filters
Clear Filters

How to implement following bessel function in MATLAB

5 views (last 30 days)
Hello all, I am trying to code the following bessel function in MATLAB but not getting it clearly.
---(1)
where is the modified Bessel function of second kind,
My query is that how can we code equation (1) using two for loops.
Any help in this regard will be highly appreciated.
  3 Comments
chaaru datta
chaaru datta on 1 Feb 2024
Thanks sir for ur reply...My query is about Bessel function....
A = besselk((m_0-i-j),(2*(sqrt(((m_1)+(m_2))*(m_0)))));
Could u pls tell if this is correct way of representing modified Bessel function of second kind in MATLAB...
Star Strider
Star Strider on 1 Feb 2024
Try running it! That is the only way you will ever know for sure. Does it give reasonable results?

Sign in to comment.

Accepted Answer

John D'Errico
John D'Errico on 1 Feb 2024
Edited: John D'Errico on 1 Feb 2024
Seriously, READ THE HELP!
help besselk
BESSELK Modified Bessel function of the second kind. K = BESSELK(NU,Z) is the modified Bessel function of the second kind, K_nu(Z). The order NU need not be an integer, but must be real. The argument Z can be complex. The result is real where Z is positive. K = BESSELK(NU,Z,SCALE) returns a scaled K_nu(Z) specified by SCALE: 0 - (default) is the same as BESSELK(NU,Z) 1 - scales K_nu(Z) by exp(Z) Class support for inputs NU and Z: float: double, single See also AIRY, BESSELH, BESSELI, BESSELJ, BESSELY. Documentation for besselk doc besselk Other uses of besselk codistributed/besselk sym/besselk symbolic/besselk gpuArray/besselk
What does the very first line say? Modified Bessel function of the second kind. So, yes.
The order nu, is M_0-i-j. You did that.
The argument, z, you gave as:
(2*(sqrt(((m_1)+(m_2))*(m_0))))
The only thing I would do is CUT THE PARENS! Having too many parens can make your code impossible to read. This next does as well:
2*sqrt((m_1 + m_2)*m_0)
Really, did you really need parens around each variable name?
A = besselk(m_0 - i - j, 2*sqrt((m_1 + m_2)*m_0));
Even the artful use of whitespace can make your code more easily read. And since you will need to read your own code to be able to debug that code, that is important.
If you cannot even read your own code, that should tell you something.
  1 Comment
chaaru datta
chaaru datta on 1 Feb 2024
Edited: chaaru datta on 1 Feb 2024
@John D'Errico...Thank u sir for ur support...definetly I will improve my code writing skills...

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!