次のコードで数値的に解決すると、 "evfrf"という警告が表示されます。微分方程式の変数を実数にする方法。警告から生じる質問: "NDSolve :: evfrf:"
私は実数
NDSolve[{y''[t] + .1 y'[t] + Sin[y[t]] == 0, y'[0] == 1,
y[0] == 0}, y, {t, 0, 20},
Method -> {"EventLocator", "Event" -> y[t],
"EventCondition" -> y'[t] > 0,
"EventAction" :> Print[t, ", ", y[t], ", ", y'[t]]}]
警告メッセージであることを微分方程式の変数を強制する方法を疑問に思って:
NDSolve::evfrf:
The event function did not evaluate to a real number somewhere
between t = 1.5798366385128957` and t = 1.6426647495929725`,
preventing FindRoot from finding the root accurately. >>
感謝:)