Значения функции в узлах сетки обозначим через
и для каждой точки области решений частные производные из уравнения заменим соответствующим (например, трех точечным) симметричным конечно-разностным выражением для внутренних точек и для точек вблизи границ таким несимметричным, чтобы значения функций не выходили за пределы области:После подстановки в уравнение Лапласа этих выражений для каждой внутренней точки области будет получена система алгебраических уравнений следующего вида:
В качестве примера, демонстрирующего применение метода сеток, приведем решение уравнения Лапласа для прямоугольной области с количеством узлов
и значениями функции на границе, как показано ниже:u(0,0) | 0.5 | 0.476 | 0.404 | 0.294 | 0.154 | 0 |
0.5 | u(1,1) | u(1,2) | u(1,3) | u(1,4) | u(1,5) | 0 |
0.476 | u(2,1) | u(2,2) | u(2,3) | u(2,4) | u(2,5) | 0 |
0.404 | u(3,1) | u(3,2) | u(3,3) | u(3,4) | u(3,5) | 0 |
0.294 | u(4,1) | u(4,2) | u(4,3) | u(4,4) | u(4,5) | 0 |
0.154 | u(5,1) | u(5,2) | u(5,3) | u(5,4) | u(5,5) | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 |
Уравнения для 25 внутренних точек u(i,k):
0.5-4·u(1,1)+u(1,2)+u(2,1) +0.5=0,u(1,1)-4·u(2,1)+u(2,2)+u(3,1)+0.476=0,u(2,1)-4·u(3,1)+u(3,2)+u(4,1)+0.404=0,u(3,1)-4·u(4,1)+u(4,2)+u(5,1)+0.294=0,u(4,1)-4·u(5,1)+u(5,2)+0.154=0,0.476+u(1,1)-4·u(1,2)+u(1,3)+u(2,2)=0,u(1,2)+u(2,1)-4·u(2,2)+u(2,3)+u(3,2)=0,u(2,2)+u(3,1)-4·u(3,2)+u(3,3)+u(4,2)=0,u(3,2)+u(4,1)-4·u(4,2)+u(4,3)+u(5,2)=0,u(4,2)+u(5,1)-4·u(5,2)+u(5,3)=0,0.404+u(1,2)-4·u(1,3)+u(1,4)+u(2,3) =0,u(1,3)+u(2,2)-4·u(2,3)+u(2,4)+u(3,3)=0,u(2,3)+u(3,2)-4·u(3,3)+u(3,4)+u(4,3)=0 | u(3,3)+u(4,2)-4·u(4,3)+u(4,4)+u(5,3)=0,u(4,3)+u(5,2)-4·u(5,3)+u(5,4)=0,0.294+u(1,3)-4·u(1,4)+u(1,5)+u(2,4) =0,u(1,4)+u(2,3)-4·u(2,4)+u(2,5)+u(3,4)=0,u(2,4)+u(3,3)-4·u(3,4)+u(3,5)+u(4,4)=0,u(3,4)+u(4,3)-4·u(4,4)+u(4,5)+u(5,4)=0,u(4,4)+u(5,3)-4·u(5,4)+u(5,5)=0,0.154+u(1,4)-4·u(1,5)+u(2,5) =0,u(1,5)+u(2,4)-4·u(2,5)+u(3,5)=0,u(2,5)+u(3,4)-4·u(3,5)+u(4,5)=0,u(3,5)+u(4,4)-4·u(4,5)+u(5,5)=0,u(4,5)+u(5,4)-4·u(5,5)=0. |
Результат решения системы из 25 уравнений представлен в таблице:
u(0,0) | 0.5 | 0.476 | 0.404 | 0.294 | 0.154 | 0 |
0.5 | 0.444618 | 0.389236 | 0.316975 | 0.225193 | 0.116966 | 0 |
0.476 | 0.389236 | 0.319355 | 0.249474 | 0.172833 | 0.0886772 | 0 |
0.404 | 0.316975 | 0.249474 | 0.188730 | 0.127986 | 0.0649079 | 0 |
0.294 | 0.225193 | 0.172833 | 0.127986 | 0.0854773 | 0.0429672 | 0 |
0.154 | 0.116966 | 0.0886772 | 0.0649079 | 0.0429672 | 0.0214836 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 |
Следует отметить, что в трех точечном представлении конечно-разностные выражения производных второго порядка для внутренних и приграничных точек совпадают. Это позволяет для прямоугольных областей, заменив двумерную индексацию неизвестных
одномерной ,преобразовать систему уравнений в векторно-матричную форму записи с блочно-диагональной матрицей коэффициентов, которая удобна для решения алгебраических уравнений с числом неизвестных более 100 на векторных вычислительных машинах:
, , , I– матрицы, соответственно, блочная, коэффициентов и единичная;
, , , , ,– соответственно, векторы неизвестных и правых частей уравнения со своими блочными компонентами.
В конечно-разностном представлении уравнения Лапласа каждое уравнение является для соответствующей точки области формулой вычисления среднего арифметического совокупности значений функции в соседних точках:
.
Погрешность конечно-разностного представления уравнения Лапласа в виде системы алгебраических уравнений определяется погрешностью аппроксимации производных, которая для трех точечного варианта, приведенного выше, пропорциональна шагу сетки.
Естественно желание повысить точность аппроксимации лапласиана, добавив в структуру его конечно-разностного представления значения функции в дополнительных точках при сохранении суммирования значений из окружающих точек.
6. Повышение точности разностных схем
Оператор сдвига, преобразующий значение функции в точке z в значение функции в точке z+h выражается через оператор производной
, как , а его применение представляется выражением:Обозначив операторные выражения для сдвига значений функции по осям x, y соответственно
несложно записать с их помощью следующие операторные выражения:
Во фрагменте сетки, изображенной в виде таблицы
, для каждой представленной индексом точки записано значение функции, выраженное через значение функции в центральной точке, преобразованное соответствующими операторами сдвига:Вычислим суммы значений функций, симметрично располагающихся вокруг центральной точки:
Подобными преобразованиями операторных выражений можно получить формулы для следующих сумм:
и любых других.Включая выражения для частичных сумм в единую сумму с различными весовыми коэффициентами, пренебрегая выражениями с производными и лапласианами высоких порядков, получают конечно-разностные формулы, аппроксимирующие уравнение Лапласа в заданной точке и содержащие большее число значений искомой функции.
Например, из выражения для
непосредственно следуетчто, после пренебрежения слагаемыми в правой части, полностью соответствует трех точечной разностной аппроксимации частных производных. Суммируя
и с весами соответственно 4 и 1, получим аппроксимацию производных по значениям в восьми точках: