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.
Может кто-нибудь мне помочь?
Я буду загружать коды, так что здесь это не выглядит слишком грязно.