How can I get all possible solutions for an equation?

6 views (last 30 days)
I need to get all possible solutions for this equation:
sin(x)/x == a
for "0.2 < a < 1", it has 3 to 5 solutions but matlab functions such as "solve" and "vpasolve" only return the first solution they find. How can I get all the answers? should I use another function?
thank you all payman

Accepted Answer

Greg Heath
Greg Heath on 27 Aug 2014
Some or all of the solutions can probably be obtained via recursion.
Given a, b=1/a and x(1), try
x(n+1) = arcsin(a*x(n))
and
x(n+1) = b*sin(x(n))
Simultaneously plotting y1= a*x and y2 = sin(x) for 0.2 <= a <= 1 will yield insight.
Hope this helps.
Thank you for formally accepting my answer
Greg

More Answers (1)

John D'Errico
John D'Errico on 26 Aug 2014
All possible solutions is in general an impossible thing for a completely general function, since there may be infinitely many such solutions.
If you know there are a finite number of solutions, and can bound them, then just sample your function on a fine enough interval, and use fzero over brackets generated by the sampling. WTP?

Categories

Find more on Matrix Computations 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!