Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция№8.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
753.66 Кб
Скачать

Краевая задача. Разностный метод

Разностный метод рассмотрим на примере краевой задачи (с краевыми условиями первого рода) для линейного уравнения второго порядка, т.е.

(67)

Рис.9. Профили решений краевой задачи (63) — (66) при 6 значениях

Введем на отрезке [a,b] равномерную сетку a = x1 < x2 < … < xN = b, при этом xn = a + (n  1)h, n = 1,2,…,N, h = (ba)/(N  1). Аппроксимируем вторую производную, используя простейшую трехточечную схему вида

, (68)

где h = xn +1xn = const, = 1,…,N  1. Заменим вторую производную в (67) на конечно-разностную аппроксимацию (68), тогда

, (69)

где ynu(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 = ynu(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)