В прямоугольнике дана задача:
с краевыми условиями:
Нужно разбить область на сетку с заданным шагом
и решить задачу методом простых итераций и методом Зейделя.
Программу я написал, в начальном приближении все значения беру равными нулю, невязку считаю, как макс. разницу между соответствующими узлами текущего и предыдущего приближения. Считаю до тех пор, пока невязка не будет меньше заданного
.
Во-первых, все значения в ответах из разных методов различаются примерно(
) на одно и то же число. Я думаю, так и должно быть, ведь задача Неймана решается с точностью до константы. Верно?
Во-вторых, при значениях
порядка
метод Зейделя сходится к решению за большее количество шагов, чем метод простых итераций. Например, при
метод простых итераций сходится за 68 шагов, а метод Зейделя - за 100. При меньших значениях
метод Зейделя считается быстрее, как и должно быть. Преподаватель говорит, что у меня где-то ошибка, что метод Зейделя не может сходиться дольше метода простых итераций и что при меньших значениях
методы вообще не должны сходиться из-за большого значения
. Единственное объяснение более долгой сходимости метода Зейделя я вижу в том, что решение по этому методу лежит дальше от начального приближения, но как-то в своей версии я не очень уверен... Помогите разобраться, в чем тут дело, где мне стоит искать ошибку, или может так и должно быть?