Qurak

Nd solve event locator limitations

Учебник 3 шагов, выполняемых по порядку в одной сессии. Каждый шаг был выполнен на движке, и вывод ниже — то, что он дал.

Шаг 1
Block[{n = 0}, NDSolve[{y'[t] == y[t], y[-1] == E^-1}, y, {t, 5}, Method -> {"EventLocator", "Event" -> Sin[π y[t]], "EventAction" :> n++}];n]
Вывод
1
Шаг 2
Block[{n = 0}, NDSolve[{y'[t] == y[t], y[-1] == E^-1}, y, {t, 5}, Method -> {"EventLocator", "Event" -> Sin[π y[t]], "EventAction" :> n++}, MaxStepSize -> 0.001];n]
Вывод
1
Шаг 3
Block[{n = 0}, NDSolve[{y'[t] == y[t], y[-1] == E^-1, z'[t] == D[Sin[π y[t]], t], z[-1] == Sin[π E^-1]}, {y, z}, {t, 10}, Method -> {"EventLocator", "Event" -> z[t], "EventAction" :> n++}, MaxSteps -> ∞];n]
Вывод
1

Используемые функции

Связанные рецепты

Все рецепты · Справочник функций · Использовать из MCP-клиента