Newton-Raphson to solve general equation with Bessel Functions of the First and Second kind?
1 次查看(过去 30 天)
显示 更早的评论
How would one solve this equation using the newton raphson method to find alpha roots:
I can set ![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/232860/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/232860/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/232737/image.png)
3 个评论
David Goodmanson
2019-8-7
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.
回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!