Вот так вот выглядит схема ( опыта в набирании формул нет, так что извините, если что не так )
n = 0, 1, 2, ...
ищется решение задачи
Точное решение будем обозначать u(x, y).
Граничные условия:
u(0, y) =
u(1, y) =
u(x, 0) =
u(x, 1) =
В задание еще написано, что положить при n = 0
= const
Так вот. Начал я решать задачу. Как видим, для того, чтобы посчитать n + 2 слой нужно посчитать полностью n + 1.
Итак, считаем.
Будем считать что количество узлов
по x равно
по y равно
Шаг 1. Найдем полностью n + 1 слой методом прогонки ( i = 1 .. (
) , j = 1 .. (
) )
Шаг 2. Найдем полностью n + 2 слой методом прогонки ( i = 0 ..
, j = 1 .. (
) )
Шаг 3. Сохраняем посчитанный n + 2 слой в n слой и переходим к шагу 1, если не достигнута требуемая погрешность.
Шаг 1.
для каждого i = 1 .. (
) рассчитываем "слой" по y:
считаем методом прогонки. Пусть
a = вектор содержащий поддиагональные элементы,
b = вектор содержащий элементы главной диагонали,
c = вектор содержащий наддиагональные элементы,
d = вектор содержащий правую часть,
s = вектор решения полученного методом прогонки. Как видим из уравнения
Размерность ||а|| =
Размерность ||b|| =
Размерность ||c|| =
Размерность ||d|| =
решаем, получаем решение, и присваиваем это решение n + 1 слою ( я обозначу этот слой буквой
):
для каждого i = 1 .. (
)
где j = 1 ..
Итак, супер, весь n + 1 слой найден. Переходим к шагу 2.
Как видим нам таки опять нужна прогонка.
Выражаем подобным же образом коэффициенты при "степенях" n + 2 и находим n + 2 слой.
Скажите пожалуйста, в чем я ошибся..?