Знакомлюсь с методом конечных разностей. Для примера решал задачку типа уравнения колебаний типа
с нулевыми начальными условиями, с ним все получилось хорошо. Но вот для уравнения порядком выше уже так просто не получается.
Для примера взял уравнение:
с начальными условиями:
Задаю конечные разности, индекс вверху около
не путать с показателем степени, не знаю почему, но видимо так принято - шаг по времени писать вверху:
Дальше составляю систему уравнений.
Вот тут первый вопрос. Когда решал уравнение колебаний, я составлял систему от
(где
есмь количество точек, для конкретного примера взял
). Для определения "отрицательных" иксов (которые возникают при
, когда
) я использовал приём, описанный
тут (формула 11, страница 148), а именно
. На основании чего такое допустимо мне не понятно, но это прокатило, и значения сеточной функции попали пуля-в-пулю на аналитическое решение. И по количеству уравнений получилось все как и должно быть - в нулевой точке я значение знаю из начальных условий, а в остальных точка
значения я нашел решив систему уравнений, которая получилась для
(пять уравнений - пять неизвестных).
А вот для уравнения четвертого порядка у меня уже такой "красоты" не получилось. Если начинать систему с нуля и писать такие же пять уравнений для
, то я ухожу в отрицательную область уже на два шага в первом уравнении (
):
и на шаг во втором уравнении (
):
Можно ли тут использовать такой же приём типа
? Я так делать не рискнул
потому что правомерность такой подстановки мне не понятна. Решил сделать так - написать систему уравнений для
.
Тогда для
в первом уравнении я уйду в отрицательном направлении по сетке только на единицу, где я уже уверен, что
прокатывает. Для
шага, т.е. для шага номер
я получу:
Число точек у меня
, так что
мне не в кассу. Тут пользуюсь тем же приёмом, который описан
тут в том же месте, а именно
, таким образом
исключаю.
Почти всё хорошо, кроме того что у меня пять переменных
, а уравнений всего
, ведь составлять я их начал с
и до
. Чтобы получить недостающее уравнение, я беру граничное условие
и записываю его в следующей форме:
Вот и пятое уравнение.
Решаю систему (в последнем обратить внимание что
отсуствует, его заменило
, а во втором отсуствует
, его заменило
):
Вроде бы 5 уравнений, 5 неизвестных, но не решается. Вернее решается, но на аналитическое решение не ложится. Я конечно подозреваю, что я мог просто налажать при написании программы в матлабе, но честно говоря все эти подстановки типа
меня наводят на мысль, что я чего-то не понимаю.
Спасибо за внимание, не дайте умереть дураком