I've been trying to find the roots of an interpolating function, but when using FindRoot I get $RecursionLimit and the value is returned in Hold[] which wont let me assign it to variables.
vd = Sqrt[(xd'[t])^2 + (yd'[t])^2]
forced = (0.5 1.3 0.05^2 vd^2)
eqsd = {xd''[t] == -(forced xd'[t])/(0.5 vd),
yd''[t] == -9.8 - (forced yd'[t])/(0.5 vd)}
inid[v_, \[Theta]_] := {xd[0] == 0, yd[0] == 0,
xd'[0] == v Cos[\[Theta]], yd'[0] == v Sin[\[Theta]]}
rules[in_, ti_, tf_] := NDSolve[Join[eqsd, in], {xd, yd}, {t, ti, tf}]
rule0 = rules[inid[98.99, Pi/4], 0, 20]
xd0[t_] := xd[t] /. rule0[[1]]
yd0[t_] := yd[t] /. rule0[[1]]
FindRoot[yd0[t], {t, 5}]