Newton-Raphson to solve general equation with Bessel Functions of the First and Second kind?

4 views (last 30 days)
How would one solve this equation using the newton raphson method to find alpha roots:
I can set
  3 Comments
David Goodmanson
David Goodmanson on 7 Aug 2019
Too bad. I mean, it's doable, but newton raphson is not a good choice at all in this situation since it requires an analytic expression for the derivative, and that expression is complicated. You can at least cross multiply and find the roots of the expression [ where W = i*w*rho and the subscripts are left off of 'a']
( W*Jn(a*r1) - a*z1*Jn'(a*r1) ) * ( W*Yn(a*r2) + a*z2*Jn'(a*r2) ) ...
- ( W*Jn(a*r2) - a*z2*Jn'(a*r2) ) * ( W*Yn(a*r1) + a*z1*Yn'(a*r1) ) = 0
I don't believe Matlab has built-in functions for Jn' and Yn' (I wish they paid more attention to mathematics like they once did but these days their bread and butter lies elsewhere) so you get to use
C_n(x)' = -C_(n+1)(x) + (n/x)*C_n(x)
and/or
C_n(x)' = C_(n-1)(x) - (n/x)*C_n(x)
where C can be either J or Y. Then use the identities four times in the expression above, collect terms, take the derivative w/r/t 'a' for newton raphson and plug in the identities eight more times. That gives an expression that just uses J and Y of various orders.
The symbolic toolbox can be used for this and will give a typical long, long, technically correct but hardly comprehensible character string. That can be taken over to newton raphson. Alll in all it's a lot easier to find the roots by a different way.

Sign in to comment.

Answers (0)

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!