Matlab: ODE45+ метод съемки не работает

Я пытаюсь численно решить три одновременных функции ODE:

dw/ds = sin(theta)

dx1/ds = cos(theta)

dtheta/ds = - a * cos(theta) * (w-w0) + a * sin(theta) * x1

Я решаю для столбца, который разделен на две половины, я хочу построить w против x1 и иметь положительное w (то, что сейчас кажется невозможным). Есть три основные функции:

  • first_sec_w: тот, который использует метод RK4 с уже найденным начальным значением для тета (используя shoot_first и shoot_second).
  • shoot_first: функция, которая решает функцию, используя RK4, принимая начальные значения для тета, пока не будет достигнуто граничное условие 0 при L0/2, и вернет это начальное значение.
  • shoot_second: почти то же самое, что и выше, но оно начинается с L0 и продолжается до L0/2.

Может кто-нибудь мне помочь?

Я буду загружать коды, так что здесь это не выглядит слишком грязно.

RK.zip

0 ответов

Другие вопросы по тегам