Как задать особое условие окончания интегрирования

Форум пользователей пакета Mathematica

Модератор: Admin

Researcher
Сообщения: 2
Зарегистрирован: Пн ноя 01, 2010 10:06 am

Как задать особое условие окончания интегрирования

Сообщение Researcher » Пн ноя 01, 2010 10:37 am

Есть ОДУ второго порядка для функции x[t]. Есть начальные условия x[0]=0 и x'[0]=const1.
Для его решения можно использовать NDSolve.
Как написано в хелпе, интервал интегрирования задаётся так: {t, 0, T}. В моём случае T неизвестно. А критерий окончания интегрирование такой: x'[t] < const2. Как в NDSolve задать такое условие?

Gordon
Сообщения: 300
Зарегистрирован: Вт сен 08, 2009 8:16 pm

Сообщение Gordon » Пн ноя 01, 2010 2:54 pm

Код: Выделить всё

NDSolve[eqns, x, {t, 0, T}, Method -> {"EventLocator", "Event" :> x'[t] < const2,
  "EventAction" :> Throw[tend = t, "StopIntegration"]}]

tend будет иметь значение, при котором решение остановилось

или вместо Method -> ... просто StoppingTest :> x'[t] < const2