By running the following code:
a = Sin[y[t]];
sol = NDSolve[{Derivative[2][y][t] + 0.1*Derivative[1][y][t] + Sin[y[t]] == 0,
Derivative[1][y][0] == 0, y[0] == 1}, y,
{t, 0, 10}, Method -> {"EventLocator", "Event" -> Derivative[1][y][t] - y[t]}]
we can obtain that the "Event" happens at t = 2.4985352432136567 .
The value of y[2.4985352432136567] can be obtained by using y[2.4985352432136567] /. sol, which appears to be -0.589753.
However, when I apply this method to a for a[2.4985352432136567] /. sol, the results appear to be {Sin[InterpolatingFunction[{{0., 2.49854}}, <>][t]][2.49854]}, and no specific value is obtained.
My question is, how can I get the specific value of a at t = 2.4985352432136567?


a[t_] = Sin[y[t]]. – b.gatessucks Sep 17 '12 at 8:10