1
$\begingroup$

Consider a function such as

f[x_] := 1/4 x^2 - 3 Cos[6 x] - 7/5

Is there some clever way to solve $f(x)=0$, either with exact roots or having Mathematica return a list of intervals, $[a_i,a_i+\delta]$ of a certain length $\delta>0$, where $f(a_i)\cdot f(a_i+\delta)=-1$?

I could write a For loop but experts here tend to find brilliant one-line solutions to my own "multiple-line" (basic and naive) solutions. Perhaps the output could even serve as input to FindRoot to find the exact roots?

$\endgroup$
3
$\begingroup$

You could just use Solve:

sols = Solve[1/4 x^2-3 Cos[6 x]-7/5==0,x,Reals]

{{x -> Root[{-28 - 60 Cos[6 #1] + 5 #1^2 &, -4.1944195824709601156}]}, {x -> Root[{-28 - 60 Cos[6 #1] + 5 #1^2 &, -4.1443220023851876569}]}, {x -> Root[{-28 - 60 Cos[6 #1] + 5 #1^2 &, -3.32475678696060154959}]}, {x -> Root[{-28 - 60 Cos[6 #1] + 5 #1^2 &, -2.9209295073933144008}]}, {x -> Root[{-28 - 60 Cos[6 #1] + 5 #1^2 &, -2.3568247304438990610}]}, {x -> Root[{-28 - 60 Cos[6 #1] + 5 #1^2 &, -1.79958153941302338362}]}, {x -> Root[{-28 - 60 Cos[6 #1] + 5 #1^2 &, -1.36189787914973414618}]}, {x -> Root[{-28 - 60 Cos[6 #1] + 5 #1^2 &, -0.71235207082364557790}]}, {x -> Root[{-28 - 60 Cos[6 #1] + 5 #1^2 &, -0.34089931495521312949}]}, {x -> Root[{-28 - 60 Cos[6 #1] + 5 #1^2 &, 0.34089931495521312949}]}, {x -> Root[{-28 - 60 Cos[6 #1] + 5 #1^2 &, 0.71235207082364557790}]}, {x -> Root[{-28 - 60 Cos[6 #1] + 5 #1^2 &, 1.36189787914973414618}]}, {x -> Root[{-28 - 60 Cos[6 #1] + 5 #1^2 &, 1.79958153941302338362}]}, {x -> Root[{-28 - 60 Cos[6 #1] + 5 #1^2 &, 2.3568247304438990610}]}, {x -> Root[{-28 - 60 Cos[6 #1] + 5 #1^2 &, 2.9209295073933144008}]}, {x -> Root[{-28 - 60 Cos[6 #1] + 5 #1^2 &, 3.32475678696060154959}]}, {x -> Root[{-28 - 60 Cos[6 #1] + 5 #1^2 &, 4.1443220023851876569}]}, {x -> Root[{-28 - 60 Cos[6 #1] + 5 #1^2 &, 4.1944195824709601156}]}}

The above results are exact. To get approximate results, just use NSolve instead, or apply N to the above result:

N[sols, 20]

{{x -> -4.1944195824709601156}, {x -> -4.1443220023851876569}, {x -> -3.3247567869606015496}, {x -> -2.9209295073933144008}, {x -> -2.3568247304438990610}, {x -> -1.7995815394130233836}, {x -> -1.3618978791497341462}, {x -> -0.71235207082364557790}, {x -> -0.34089931495521312949}, {x -> 0.34089931495521312949}, {x -> 0.71235207082364557790}, {x -> 1.3618978791497341462}, {x -> 1.7995815394130233836}, {x -> 2.3568247304438990610}, {x -> 2.9209295073933144008}, {x -> 3.3247567869606015496}, {x -> 4.1443220023851876569}, {x -> 4.1944195824709601156}}

$\endgroup$
1
$\begingroup$

The equation is symmetric and can be solved using NSolve(without RooT...)

sol = NSolve[{1/4 x^2 - 3 Cos[6 x] - 7/5 == 0, 0 <= x }, Reals]
(*{{x -> 0.340899}, {x -> 0.712352}, {x -> 1.3619}, {x -> 
1.79958}, {x -> 2.35682}, {x -> 2.92093}, {x -> 3.32476}, {x -> 
4.14432}, {x -> 4.19442}}*)

Plot[1/4 x^2 - 3 Cos[6 x] - 7/5, {x, 0, 2 Pi },GridLines -> {x /. sol, None}]

enter image description here

$\endgroup$
  • $\begingroup$ There is a polynomial part (so it cannot be periodic). Eventually it even becomes monotonic. $\endgroup$ – Daniel Lichtblau Nov 17 '18 at 15:28
  • $\begingroup$ Sorry I didn't see it. My answer will be edited. Thanks. $\endgroup$ – Ulrich Neumann Nov 17 '18 at 16:12
  • 1
    $\begingroup$ This is not periodic. (That was a joke. I am repeating myself. Ha ha.) $\endgroup$ – Daniel Lichtblau Nov 17 '18 at 16:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.