HELP: Eigenvalue solution for Bessel Function

In the course of studying heat conduction, we will always encounter the solution of eigenvalues. When it comes to Bessel functions, I try to solve the eigenvalues with matlab. But it prompts "Cannot find explicit solution" or "Cannot solve symbolically. Returning a numeric approximation instead."
Attached below is the equation I want to solve and my code:
syms n r Beta Lambda ;
eqn=n/r*besselj(n,Beta*r)-Beta*besselj(n+1,Beta*r)+Lambda*besselj(n,Beta*r)==0;
[solx,params,conds]=solve(eqn,Beta,'IgnoreAnalyticConstraints',1,'ReturnConditions', true);
pretty(solx);
I don't know if there is no analytical solution to this problem. If there is no analytical solution, how to deal with such a problem? I would appreciate it if you have good suggestions.

 Accepted Answer

There is no analytic solution to the zeros of bessel functions. There are known algorithms for computing the solutions numerically when all of the inputs are numeric.
Because your inputs are non-numeric (at least in the code you posted), it is not possible to find explicit solutions in terms of the remaining variables.
There is not much you can do until you get to the point in your code where you have specific numeric values to substitute in for everything except Beta, at which point you can go for a numeric solution.
But be warned that for given numeric values of the coefficients, there are an infinite number of Beta values that lead to zeros of your eqn.

3 Comments

Thank you very much for your prompt and effective answer. I have benefited a lot after reading. The current situation is that, the variables other than "Beta" are all constants, but at this time they can only be represented by letters (or called parameters). Could I find some approaches to use these parameters to express "Beta"? If it is still not possible, when they are specific numbers, for example, "n = 1, r = 1, Lambda = 0.1", then, is there any way you can solve this infinite number of solutions?
gratitude
Thank you very much for your guidance, and so I understand this question well.

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!