All zeros for Bessel function
Show older comments


I dont want to find all zeros of this function by using 'bessel function' besselj(nu, Z) in matlab toolbox. I would like to create a matlab function to calculate all roots. I create a function on newton iteration method, but it calculated just one root. thanks for your helps in advance.
10 Comments
David Goodmanson
on 29 Feb 2020
Hi Zeynep,
J_1/2(x) equals zero if and only if the right hand side of that equation is zero. So you should consider when the r.h.s. is zero.
Zeynep Toprak
on 29 Feb 2020
Edited: Zeynep Toprak
on 29 Feb 2020
Walter Roberson
on 29 Feb 2020
You examine the formula and see that the first term is 0 only if x is infinite, which cannot occur for that range. You then examine the second term and see that it is zero when sin(x) is 0, which happens exactly every π/2 . No need to consult a graph or use Newton's method.
David Goodmanson
on 29 Feb 2020
Edited: David Goodmanson
on 29 Feb 2020
Hi Walter, you meant to say every pi
Walter Roberson
on 29 Feb 2020
You are right, should be every π
Zeynep Toprak
on 29 Feb 2020
Walter Roberson
on 29 Feb 2020
That is one way; there are other approaches.
Zeynep Toprak
on 29 Feb 2020
Edited: Zeynep Toprak
on 29 Feb 2020
Walter Roberson
on 29 Feb 2020
https://en.m.wikipedia.org/wiki/Root-finding_algorithm
There are also techniques that involve splitting up the interval into a number of subintervals and running a Newton type algorithm on the entire vector of starting points, and then at the end taking the unique values (taking into account round-off error). This approach only really works if you have information about the minium separation of the zeros.
Zeynep Toprak
on 1 Mar 2020
Answers (0)
Categories
Find more on Mathematics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!