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

Постановка краевой задачи

Краевая задача состоит в поиске частных решений системы уравнений (3), (3), т.е. системы

, (51)

на отрезке [a,b], при задании дополнительных условий в более чем одной точке отрезка [a,b]. В рамках данного определения постановка краевой задачи возможна только для систем, порядок которых два и более.

Свое название краевые задачи получили вследствие задания условий на краях отрезка [a,b], т.е. в точках x = a и x = b. В качестве примера можно привести задачу определения статического прогиба u(x) струны с закрепленными концами под действием распределенной нагрузки f(x), которая поделена на длину и упругость струны:

. (52)

В общем случае краевая задача для системы (51) предполагает определенными p точек 1, 2, …, p на отрезке [a,b], в которых заданы условия вида:

. (53)

Точное решение краевой задачи (51), (53) в элементарных функциях удается редко, т.к. для этого надо найти общее решение системы (51), а затем определить конкретные значения констант, обеспечивающих выполнение краевых условий (53). По этой причине широко используются приближенные методы решения краевых задач. К ним относятся: метод стрельбы, разностный метод, метод разложения в ряды Фурье, методы Ритца и Галеркина.

В общем случае метод стрельбы состоит в сведении краевой задачи к задаче Коши и последующих итерациях, цель которых состоит в удовлетворении части граничных условий с заданной точностью. Разностный метод состоит в сведении исходной задачи к алгебраической системе уравнений большого порядка, в которой неизвестными выступают значения искомого решения в узлах сетки.

Метод стрельбы

Данный метод еще называют баллистическим. В основе этого метода лежит способ сведения краевой задачи к решению задачи Коши той же системы дифференциальных уравнений. Рассмотрим более подробно метод стрельбы на примере пары дифференциальных уравнений следующего вида:

(54)

где x[a,b] и выбираются краевые условия общего вида:

. (55)

Выберем произвольное ua такое, что u(a) = ua. Подставим это условие в левое граничное условие, рассматривая его в качестве алгебраического уравнения, т.е. (ua,v(a)) = 0. Формально разрешим последнее уравнение относительно v(a), тогда v(a) = q(ua). Решим теперь систему (54) как задачу Коши с начальными данными u(a) = ua и v(a) = q(ua). Решение можем провести одним из численных методов, изложенных выше. В итоге получим решение u(x,ua), v(x,ua), зависящие от ua, как от параметра.

Функция q такова, что левое граничное условие выполнено. Однако выполнение правого граничного условия не обеспечено. Действительно, подставляя решение в правое граничное условие, получим

(56)

функцию параметра ua, которая отлична от нуля. Для обеспечения правого граничного условия надо осуществить варьирование параметра ua так, чтобы с заданной точностью обеспечить равенство . Другими словами, решение краевой задачи сводится к нахождению корней уравнения

. (57)

Методы поиска корней уравнения изучались в лекции №5. Например, можно численно решить систему уравнений (54) для различных значений ua и найти среди них такую пару , на которой функция p меняет знак. Далее к отрезку применяем метод деления отрезка пополам, осуществляем каждый раз новую “пристрелку” параметра и добиваясь нужной точности значения корня. Вследствие такой процедуры метод получил название метода стрельбы.

Ранее мы уже видели, что метод дихотомии надежен и прост, однако он довольно медленный. Каждая итерация в данном случае особенно дорогая, т.к. предполагает решение системы уравнений (54). Построим аналог процесса Ньютона, предполагая нужную степень гладкости правых частей системы (54) и краевых условий (55).

Найдем производную функции (56)

. (58)

В уравнение (58) входят производные по параметру от решений системы уравнений (54). Введем обозначения

и продифференцируем систему уравнений (54) по параметру ua, тогда

(59)

Одно из начальных значений для системы (59) легко найти, учитывая что u(a) = ua, тогда . Второе граничное условие получается после дифференцирования левого граничного условия (55) по параметру ua, тогда

. (60)

В результате решение краевой задачи свелось к решению системы четырех уравнений (54), (59) с начальными данными (55), (60). Решая данную систему уравнений, находим u(b), v(b), (b), (b). Подставляя эти величины в (58), находим производную, которая позволяет организовать процесс Ньютона для нахождения корня уравнения (57), т.е.

. (61)

Добавление лишней пары дифференциальных уравнений (59) можно избежать, если воспользоваться в место процесса Ньютона (61) методом секущих

. (62)

Изучим метод стрельбы на примере решения краевой задачи (54) — (61) в следующем уравнении:

, (63)

где  > 0 — некоторый неотрицательный параметр. При   = 0 решение задачи (63) известно u = sin(x). Переходя к представлению уравнения (63) в виде системы, а также повторяя логику вывода уравнений (59), находим

(64)

где

;

. (65)

Итерационный процесс Ньютона для краевой задачи (64), (65) осуществляет пристрелку значения параметра v0 таким образом, чтобы обеспечить выполнение правого краевого условия. Соответствующий итерационный процесс Ньютона имеет следующий вид:

. (66)

Краевая задача (63) — (66) решалась численно при различных значениях . На листинге_№11 приведен код решения краевой задачи.

Листинг_№11

%Программа решения краевой задачи (63) - (66)

%очищаем рабочее пространство

clear all

%задаем возможные значения параметра eps

eps=0:2:10;

%определяем число точек на отрезке

%интегрирования [0,pi/2]

N=100;

%определяем правую часть системы дифференциальных

%уравнений (64)

f=@(z,e)[z(2);(-1+e*z(1)^2)*z(1);

z(4);(-1+3*e*z(1)^2)*z(3)];

%определяем шаг сетки h

h=(0.5*pi)/(N-1);

%организуем цикл решения краевой задачи для

%различных значений параметра eps

for k=1:length(eps)

iter=0;

v0=1.4; v1=0.7;

while (abs(v1-v0)>1e-4)&(iter<20)

v0=v1;

y(1,1)=0; y(2,1)=v0; y(3,1)=0; y(4,1)=1;

for n=1:(N-1)

%для интегрирования системы уравнений

%(64) применяем схему Рунге-Кутта 4-го

%порядка

k1=f(y(:,n),eps(k));

k2=f(y(:,n)+0.5*h*k1,eps(k));

k3=f(y(:,n)+0.5*h*k2,eps(k));

k4=f(y(:,n)+h*k3,eps(k));

y(:,n+1)=y(:,n)+(h/6)*(k1+2*k2+2*k3+k4);

end

%организуем итерации по Ньютону

v1=v0-(y(1,N)-1)/y(3,N);

iter=iter+1;

end

hold on

%строим графики решений при

%различных значениях eps

plot(0:h:0.5*pi,y(1,:));

end

На рис.9 приведены искомые решения краевой задачи, которые генерирует код программы листинга_№11, для 6 значений = 0, 2, 4, 6, 8, 10.