Метод релаксации матрицы: Difference between revisions

From AlgowikiPool
Jump to navigation Jump to search
[unchecked revision][unchecked revision]
No edit summary
 
Line 1: Line 1:
== Математическая постановка задачи релаксации матрицы ==
== Математическая постановка метода релаксации матрицы ==


Требуется численно решить краевую задачу для уравнения Лапласа на прямоугольной области:
Требуется численно решить краевую задачу для уравнения Лапласа на прямоугольной области:

Latest revision as of 21:35, 4 November 2025

Математическая постановка метода релаксации матрицы

Требуется численно решить краевую задачу для уравнения Лапласа на прямоугольной области:

[math]\displaystyle{ \frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2} = 0, \quad (x,y) \in \Omega = [0,1] \times [0,1] }[/math]

с граничными условиями Дирихле:

[math]\displaystyle{ u(x,y) = g(x,y), \quad (x,y) \in \partial\Omega, }[/math]

где [math]\displaystyle{ \partial\Omega }[/math] — граница области.

Дискретизация задачи

Вводится равномерная сетка с шагом [math]\displaystyle{ h = \frac{1}{N-1} }[/math]:

[math]\displaystyle{ x_i = i \cdot h, \quad y_j = j \cdot h, \quad i,j = 0, 1, \dots, N-1. }[/math]

Аппроксимируя вторые производные конечными разностями, получаем дискретный аналог уравнения Лапласа для внутренних узлов сетки:

[math]\displaystyle{ \frac{u_{i-1,j} - 2u_{i,j} + u_{i+1,j}}{h^2} + \frac{u_{i,j-1} - 2u_{i,j} + u_{i,j+1}}{h^2} = 0, }[/math]

что после преобразования даёт:

[math]\displaystyle{ u_{i,j} = \frac{u_{i-1,j} + u_{i+1,j} + u_{i,j-1} + u_{i,j+1}}{4}. }[/math]

Итерационный метод решения

Для решения полученной системы линейных уравнений используется метод Якоби (релаксации). На каждой итерации [math]\displaystyle{ k }[/math] новые значения вычисляются как:

[math]\displaystyle{ u_{i,j}^{(k)} = \frac{u_{i-1,j}^{(k-1)} + u_{i+1,j}^{(k-1)} + u_{i,j-1}^{(k-1)} + u_{i,j+1}^{(k-1)}}{4}, }[/math]

где [math]\displaystyle{ i,j = 1, 2, \dots, N-2 }[/math] — индексы внутренних узлов.

Критерий остановки

Итерационный процесс прекращается, когда максимальное изменение между итерациями становится меньше заданной точности:

[math]\displaystyle{ \max_{i,j} |u_{i,j}^{(k)} - u_{i,j}^{(k-1)}| \lt \varepsilon_{\text{max}}. }[/math]

Начальные и граничные условия

В конкретной реализации:

  • Граничные условия: [math]\displaystyle{ u_{0,j} = u_{N-1,j} = u_{i,0} = u_{i,N-1} = 0 }[/math]
  • Начальное приближение для внутренних точек: [math]\displaystyle{ u_{i,j}^{(0)} = 1 + i + j }[/math]

Контроль корректности

Для верификации результата вычисляется контрольная сумма:

[math]\displaystyle{ S = \frac{1}{N^2} \sum_{i=0}^{N-1} \sum_{j=0}^{N-1} u_{i,j} \cdot (j+1) \cdot (i+1), }[/math]

которая должна совпадать для всех корректных реализаций алгоритма.

Категория:Численные методы

Категория:Методы решения уравнений в частных производных