MATLAB MATLAB - solving equation with Bessel function

AI Thread Summary
The discussion focuses on solving the equation involving Bessel functions using MATLAB. The original poster struggled with the vpasolve and fzero functions, initially only obtaining x=0 as a solution. After clarification and code sharing, it was revealed that the fzero function can effectively find solutions when used correctly, with the requirement of a suitable initial guess (x0). Participants suggested using inline functions for simplicity and recommended employing ezplot for visual estimation of roots before applying fzero for precise solutions. The conversation highlights the importance of proper function usage and initial guesses in numerical solving methods.
kravky
Messages
22
Reaction score
3
Hello,

i am trying to solve this equation for x

besselj(0,0.5*x)*bessely(0,4.5*x)-besselj(0,4.5*x)*bessely(0,0.5*x) ==0;

I tried vpasolve, but it gave me answer x=0 only. fzero function didnt work, too.
What function can solve this equation?

Thanks
 
Physics news on Phys.org
Please show us exactly the code you have tried. Otherwise it is impossible to tell where you might have gone wrong. fzero works perfectly fine for me.
 
Yes. I misused fzero function. now it works for me aswell!
Code:
function ffu = f(x)
ffu = besselj(0,0.5*x)*bessely(0,4.5*x) - besselj(0,4.5*x)*bessely(0,0.5*x);

and fzero
Code:
fun=@f
x0=2;
S=fzero(fun,x0)

will find solution. It finds only one solution which is close to the x0 value but its not the problem.
 
Yes, fzero finds just one solution. It will find different solutions depending on your x0 input.

Also, when you have such a short and simple function, you can just as well define an inline function instead of writing an entire function file.
 
  • Like
Likes kravky
I understand. A good way is to use ezplot as well for a rough estimation of points, where functions is zero (intersection with x axis) and then use this rough guess as x0 input in fzero for precise value
 

Similar threads

Replies
6
Views
2K
Replies
1
Views
2K
Replies
5
Views
3K
Replies
1
Views
2K
Replies
1
Views
5K
Replies
13
Views
2K
Replies
4
Views
1K
Replies
2
Views
3K
Replies
3
Views
2K
Back
Top