Краевая задача. Разностный метод
Разностный метод рассмотрим на примере краевой задачи (с краевыми условиями первого рода) для линейного уравнения второго порядка, т.е.
(67)
Рис.9. Профили решений краевой задачи (63) — (66)
при 6 значениях e
Введем на отрезке [a,b] равномерную сетку a = x1 < x2 < … < xN = b, при этом xn = a + (n - 1)h, n = 1,2,…,N, h = (b - a)/(N - 1). Аппроксимируем вторую производную, используя простейшую трехточечную схему вида
, (68)
где h = xn +1 - xn = const, n = 1,…,N - 1. Заменим вторую производную в (67) на конечно-разностную аппроксимацию (68), тогда
, (69)
где yn » u(xn) — приближенное решение искомой задачи, pn = p(xn), fn = f(xn). Система алгебраических уравнений состоит из N - 2 уравнений относительно приближенных значений функции yn. Недостающая пара уравнений следует из краевых условий
. (70)
В результате решение исходной краевой задачи свелось к численному решению задачи (69), (70) на конечно-разностной сетке. При этом возникает три вопроса.
1. Существует ли решение алгебраической системы уравнений (69)?
2. Каков алгоритм решения алгебраической системы (69)?
3. Сходится ли приближенное решение к точному в какой-либо норме при h ® 0?
Для ответа на все три вопроса потребуем дополнительно p(x) > 0
Решение разностной задачи может быть рассмотрено, как решение системы линейных алгебраических уравнений. В лекции №5 уже была изучена система такого рода. Там же было показано, что решение существует и единственно, когда имеет место диагональное преобладание, т.е. значения на главной диагонали превышают сумму значений на верхней и нижней диагоналях. Применительно к системе уравнений (69) это условие выглядит в следующем виде: 2 + h2pn > 1 + 1 при pn > 0. Найти решение задачи (69) можно либо методом исключения Гаусса, либо методом прогонки.
|
|
Докажем утверждение о сходимости приближенного решения к точному: если p(x) и f(x) дважды непрерывно дифференцируемы, то разностное решение yn равномерно сходится к точному u(xn) с погрешностью O(h2) при h ® 0.
Сделанные предположения обеспечивают существование четвертой непрерывной производной точного решения, поэтому можно записать погрешность аппроксимации второй производной в виде:
. (71)
Подставляя в (71) вторую производную из (67), получим
. (72)
Определим погрешность zn = yn - u(xn), тогда, вычитая уравнение (69) из (72), находим
. (73)
Краевые значения для погрешности в (73) равны нулю, т.к. предполагается, что они удовлетворяются точно в приближенной задаче.
|
|
Выберем такое значение аргумента , при котором достигает своего максимального значения. Очевидно, это не могут быть краевые значения. Рассмотрим уравнение (73) при n = n0, тогда верна следующая оценка
. (74)
Если в правой части (74) заменить на , то это только усилит неравенство. В итоге получим искомую оценку
,
которая обеспечивает сходимость приближенного решения к точному с погрешностью O(h2) при h ® 0.
В качестве примера рассмотрим решение следующей краевой задачи:
(75)
На листинге_№12 приведен код решения краевой задачи (75).
Листинг_№12
%Программа численного решения краевой
%задачи разностным методом
%очищаем рабочее пространство
clear all
%определяем функции p(x) и f(x)
p=@(x)1+x^4;
f=@(x)sin(x^2);
%определяем отрезок, на котором краевая
%задача определена
a=0; b=5;
N=1000; h=(b-a)/(N-1);
%определяем сетку
for n=1:N
x(n)=a+(n-1)*h;
end
alpha(2)=0;
%задаем левое краевое условие
beta(2)=-1;
%определяем коэффициенты прогонки
for n=2:(N-1)
alpha(n+1)=1/(2+h^2*p(x(n))-alpha(n));
beta(n+1)=(beta(n)-h^2*f(x(n)))/...
(2+h^2*p(x(n))-alpha(n));
end
%задаем правое краевое условие
y(N)=1;
%вычисляем значения приближенной функции
for n=(N-1):-1:1
y(n)=alpha(n+1)*y(n+1)+beta(n+1);
|
|
end
%рисуем полученное решение
plot(x,y);
На рис.10 приведено решение краевой задачи (75) в виде графика.
Рис.10. Решение краевой задачи (75)
Дата добавления: 2022-01-22; просмотров: 20; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!