Изначальное задание: Построить разностную схему со вторым порядком аппроксимации и найти ее решение при различных значениях
:
Схему построим следующим образом: пусть отрезок
разбит на
равных частей, тогда
. Для аппроксимации четвертой производной используем формулу
, она вроде как приближает её со вторым порядком аппроксимации.
У нас есть
узлов,
. Формулу выше мы можем записать только в узлах с номерами
, плюс еще два уравнения граничных условий на значения функции
Встает вопрос, как аппроксимировать оставшиеся два граничных условия на правом конце?
Выбрал такой способ: рассмотрим дополнительный узел
. Запишем еще две формулы: приближение первой производной со вторым порядком аппроксимации
, и второй производной
. Если записать эти формулы в узле
с использованием дополнительного узла, получим два уравнения:
и
, откуда, выразив значение в дополнительном узле, можем получить еще два уравнения для разностной схемы. Поскольку
и
, то, приравняв их, получим уравнение
. А для получения последнего уравнения запишем формулу для 4-ой производной в узле
и выразим участвующее там значение в дополнительном узле, например, как
.
Итак, получившаяся разностная схема:
Матрица системы тут получается кривая из-за того, что три граничных условия в единице, и лишь одно в нуле. Но Гауссом ее все же можно решить, собственно в своей программе я это и делаю, получается некоторое численное решение, по виду вроде бы подходящее.
Но чтобы проверить, работает ли метод, давайте на время забудем про
и подберем вместо него такую функцию
, чтобы решение краевой задачи можно было найти аналитически. Пусть для простоты
Методом подбора: многочлен
удовлетворяет краевым условиям задачи, его четвертая производная равна нулю, так что в качестве
получается он сам. Ожидается, что разностная схема, где вместо косинуса стоит этот многочлен, при росте
будет сходиться к нему же. Но вот что дает в результате моя программа
Это я в матлабе построил при
график многочлена (зелёный) и график численного решения (синий). Как видно численное сразу растет быстрее многочлена и отклоняется от него примерно на
, и лишь к концу становится более-менее похожим на многочлен. При увеличении
картина такая же - численное решение отклоняется примерно на
.
Собственно, вопрос, в чем дело? Очень хотелось бы, чтоб ошибка была в программе, хотя я уже несколько раз проверял. Другой вопрос, может быть решение данной схемы и вовсе не должно с ростом
приближать многочлен? Или, у данной краевой задачи есть другое решение, кроме этого многочлена, и схема находит его? Как я понял из теории, схема все-таки должна сходиться. Тогда, может она составлена неправильно?
Буду благодарен за любые идеи, в чем может быть проблема.