Question: How get all solutions of this "periodic" RootOf expression in an interval?

Ideally, I would like to find all roots of this RootOf expression for a given interval.

I tried defining a function from the argument of the RootOf expression and using fsolve to find solutions, but could not get all of them.

What I managed to do skips the interval, is not really elegant and raises additional questions.
I would be grateful for any hints and improvements.

RootOf(_Z*cos(_Z)-sqrt(sin(_Z)^2))

RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2))

(1)

allvalues(RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2)))

Error, (in RootOf/sort1) cannot numerically evaluate the argument

 

RootOf(op(RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2))), index = i)

RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2), index = i)

(2)

evalf(subs(i = 3, RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2), index = i)))

RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2), index = 3)

(3)

evalf(RootOf(op(RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2))), 3))

-4.493409458

(4)

rt := ''RootOf(op(RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2))), i)''

'RootOf(op(RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2))), i)'

(5)

subs(i = 3, rt)

RootOf(op(RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2))), 3)

(6)

evalf(RootOf(op(RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2))), 3))

-4.493409458

(7)

seq(subs(i = k, rt), k = 1 .. 5)

RootOf(op(RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2))), 1), RootOf(op(RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2))), 2), RootOf(op(RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2))), 3), RootOf(op(RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2))), 4), RootOf(op(RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2))), 5)

(8)

evalf(%)

0., 0., -4.493409458, 4.913180439, 4.913180439

(9)

{-4.493409458, 0., 4.913180439}[]

-4.493409458, 0., 4.913180439

(10)

seq(evalf(subs(i = k, rt)), k = 1 .. 5)

Error, (in evalf/RootOf) numeric exception: division by zero

 

evalf(seq(subs(i = k, rt), k = 1 .. 5))

Error, (in evalf/RootOf) numeric exception: division by zero

 

NULL

seq(subs(i = k, rt), k = -5 .. 5)

RootOf(op(RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2))), -5), RootOf(op(RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2))), -4), RootOf(op(RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2))), -3), RootOf(op(RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2))), -2), RootOf(op(RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2))), -1), RootOf(op(RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2))), 0), RootOf(op(RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2))), 1), RootOf(op(RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2))), 2), RootOf(op(RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2))), 3), RootOf(op(RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2))), 4), RootOf(op(RootOf(_Z*cos(_Z)-(sin(_Z)^2)^(1/2))), 5)

(11)

evalf(%)

-4.493409458, -4.493409458, -2.028757845, -2.028757838, 4.913180439, 0., 0., 0., -4.493409458, 4.913180439, 4.913180439

(12)

NULL

NULL

Download RootOf_a_periodic_function.mw

Please Wait...