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

 Akzeptierte Antwort

Greg Heath
Greg Heath am 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

1 Kommentar

not what I was looking for, but anyways thanks for your answers

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

John D'Errico
John D'Errico am 26 Aug. 2014

0 Stimmen

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?

Kategorien

Mehr zu Optimization finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by