- •3. Порядок работы.
- •Теоретические сведения.
- •§1 Классификация задач.
- •Постановка задач.
- •Первая краевая задача для уравнения теплопроводности.
- •§2 Сеточные функции и сеточные пространства.
- •§3 Разностная аппроксимация простейших
- •§4 Метод сеток.
- •Решение задачи.
- •Решение задачи с помощью явной разностной схемы
- •Решение задачи с помощью неявной разностной схемы
- •Практическая реализация:
- •Программная реализация:
§2 Сеточные функции и сеточные пространства.
Метод сеток состоит в сведении решения краевой задачи к решению алгебраических уравнений для так называемой сеточной функции. Для этого область G непрерывного изменения аргумента заменяется областью дискретного его изменения. Дифференциальный оператор заменяется некоторым разностным оператором. Краевые и начальные условия заменяются на соответствующие разностные аналоги. Выберем в области, где ищется решение дифференциального уравнения, некоторое конечное множество точек, в которых и будем искать решение уравнения. Ясно, что чем больше мы возьмем таких точек, тем точнее решим уравнение. Множество таких точек называется сеткой, отдельные точки – узлы сетки. Функция, определенная в узлах сетки, называется сеточной функцией.
На
пример, зададим отрезок [0,1] и построим
сетку с равномерным шагом, разбив отрезок
на N
равных частей точками
.
Расстояние между соседними узлами
называется шагом сетки, точки деления
-
узлами сетки. Множество всех узлов
и составляет сетку. В это множество
можно включить граничные точки
и
.
Обозначим
.
На данном отрезке вместо функции
непрерывного аргумента
будем рассматривать
функцию дискретного аргумента
.
Значения этой
функции вычисляются в узлах сетки
,
а сама функция зависит от шага сетки,
как от параметра.
Замена области непрерывного изменения аргумента областью его дискретного изменения (сеткой) приводит к необходимости перенесения свойств функциональных пространств на так называемые сеточные пространства.
<<Определение:
линейное пространство H
называется нормированным, если для
каждого элемента
определенно
вещественное число
,
называемое нормой, которое удовлетворяет
следующим условиям:>>
1)
2)
неравенство
треугольника;
3)
,
- комплексное число;
Функции
,
являющиеся решением
соответствующих краевых задач, принадлежат
некоторому функциональному пространству
.
Множество сеточных функций
образуют пространство
.
Таким образом, используя меток конечных
разностей, заменяем пространство
пространством
сеточных функций. Поскольку число узлов
в сетке конечно, пространство
- конечномерное. В линейном пространстве
вводится норма
,
являющаяся сеточным аналогом нормы
в исходном пространстве
§3 Разностная аппроксимация простейших
ДИФФЕРЕНЦИАЛЬНЫХ ОПЕРАТОРОВ.
Пусть
дан линейный дифференциальный оператор
,
действующий на функцию
.
Заменяя входящие в
производные разностными отношениями,
получим вместо
разностное выражение
,
являющееся линейными комбинациями
значений сеточной функции vh
на некотором множестве узлов сетки,
называемом шаблоном.
Такая приближенная замена
на
называется аппроксимацией
дифференциального оператора разностным
оператором
( или разностной аппроксимацией оператора
).
Изучение
разностных аппроксимаций оператора
вначале производят локально, т.е. в любой
фиксированной точке x
области h.
Прежде чем приступать к разностной
аппроксимации оператора необходимо
выбрать шаблон,
т.е. указать множество соседних с узлом
хi
узлов, в которых значения сеточной
функции
могут быть использованы для аппроксимации
оператора
.
Рассмотрим
оператор, соответствующий первой
производной
.
На двухточечном
шаблоне x,
x+h
и x-h
в зависимости от шаблона получим две
конечно-разностные аппроксимации:
-
правая разностная аппроксимация; (1)
-
левая разностная аппроксимация; (2)
Кроме
того, в качестве разностной аппроксимации
производной
можно взять линейную
комбинацию выражений (1) и (2)
,
где
- весовой коэффициент.
При
получаем центральную разностную
производную
(3)
Таким
образом оказывается, что можно написать
бесчисленное множество разностных
выражений, аппроксимирующих
.
Возникает
вопрос, какую ошибку мы допускаем,
используя ту или иную разностную
аппроксимацию, и как ведет себя разность
при h->0.
Величина
называется
погрешностью
разностной аппроксимации
в точке
.
В предположении, что имеет нужное количество производных, разложим ее по формуле Тейлора:
(4)
Подставляя (4) в (1) – (3), получаем
-
погрешность для правой разностной
аппроксимации;
- погрешность
для левой разностной аппроксимации;
- погрешность
для центральной разностной аппроксимации;
Остуда следует, что аппроксимация производной на трехточечном шаблоне имеет на порядок меньшую погрешность, чем на двухточечном.
Говорят,
что
аппроксимирует дифференциальный
оператор
с порядком m>0
в точке
,
если
Рассмотрим
оператор, соответствующий второй
производной:
на трехточечном
шаблоне
.
Аппроксимация имеет вид:
(5)
Так
как
,
то (5) можно записать в виде:
Подставляя Тейлоровское разложение (4) в (5) получим равенство:
,
из
которого следует, что погрешность
разностной аппроксимации второй
производной
равна
,
если
четвертая производная ограниченна при
.
Рассмотрим оператор дифференцирования в уравнении теплопроводности:
,
Пусть
- фиксированная точка плоскости
;
- шаги двумерной сетки. Что бы написать
разностную аппроксимацию
для оператора
необходимо определить шаблон. Например,
один из следующих видов:
шаблон I шаблон II шаблон III
На шаблоне I первую производную по t аппроксимируем правой разностной производной аналогично (1), а вторую производную по аппроксимируем центральной разностью по формуле (5). Получаем аппроксимацию вида:
;
(6)
Для шаблона II аппроксимация оператора имеет вид:
;
(7)
Взяв линейную комбинацию (6) и (7), получим однопараметрическое семейство разностных операторов, заданных на шаблоне III:
(8)
Вычислим порядок аппроксимации приведенных операторов:
На шаблоне I:
На шаблоне II: (аналогично шаблону I )
На шаблоне III:
Положим
в (8)
.
Для вычисления погрешности аппроксимации
оператора
используем следующие Тейлоровские
разложения:
.
Исключая
из этих равенств
,
получим
Тейлоровское
разложение для вторых конечных разностей
и
могут быть записаны в виде:
Учитывая
(8) и разложения для
,
получим:
Погрешность
