Слайд 108/13/2019
Тема 7. Проекционные методы решения краевых задач
Теоретические основы проекционных методов
Пример решения одномерной краевой задачи Дирихле
Двумерная краевая задача Дирихле
Метод
Канторовича сведения задачи для ДУ в частных производных к решению задачи для системы ОДУ
Слайд 208/13/2019
Теоретические основы проекционных методов
Основная задача классического вариационного исчисления:
Найти
такую u=u(x) a≤x≤b u(a)=u0 u(b)=u1
На которой
достигается
минимум функционала
Центральная теорема: минимум доставляет решение дифференциального уравнения Эйлера
Слайд 308/13/2019
Например
u(x) – путь пройденный автомобилем за время 0≤x≤T
- скорость
Затраты пропорциональны квадрату скорости
При
каком законе движения обеспечивается минимум затрат на пути 0≤ u(х) ≤ s ?
Уравнение Эйлера
Оптимальный закон (линейный!)
Слайд 408/13/2019
Сведение решения ДУ к минимизации функционала
Таким образом задача нахождения минимума
функционала сводится к решению ДУ.
Справедливо и обратное – решение ДУ
можно свести к нахождению минимума функционала.
Запишем краевую задачу для ДУ в общем виде:
Область определения функции u: R(u)=Ω; Г – граница Ω.
Слайд 508/13/2019
Функционал, минимум которого достигается на решении ДУ, имеет вид
Самым универсальным
и во многих случаях единственным способом нахождения минимума функционала общего
вида является метод Ритца (W. Ritz), впервые им предложенный в 1908 г.
Слайд 608/13/2019
Метод Ритца
Выбираем базис
Свойства линейной независимости и полноты
Ищем решение в виде
Подставляем
в функционал
получаем задачу минимизации функции n переменных
Слайд 708/13/2019
Примеры базисных функций обладающих полнотой
Полиномы
Тригонометрические функции
От удачного выбора базиса зависит
эффективность решения задачи
Слайд 808/13/2019
Минимизация квадратичного функционала с линейным оператором L
После подстановки uN(x)
Воспользуемся условием
экстремума
Получаем СЛАУ
Слайд 908/13/2019
Системы проекционных уравнений
Запишем
Или
Проекция
Можно заметить, что эта система получается из
исходной краевой задачи простой подстановкой uN вместо u и последующим
умножением скалярно (проектированием) на каждую функцию базиса
В общем случае
Два базиса
Если проекции F(x) на все функции базиса равны 0 то F(x)≡0
Слайд 1008/13/2019
Проекционные методы
Впервые идею такого решения ДУ (не обращаясь к вариационной
задаче) предложил в 1915 г.
Б.Г. Галеркин
В зависимости от выбора
в функций ϕ и оператора K эти методы имеют свои названия
метод Бубнова-Галеркина: K=I , ψ=ϕ оператор L может не быть симметричным и положительно определенным
метод Галеркина-Петрова: K=I , ψ≠ϕ
метод наименьших квадратов: K=L , ψ=ϕ
Слайд 1108/13/2019
Решение одномерной краевой задачи
Найти решение
Ищем решение в виде
Проекционное уравнение
преобразуем
Слайд 1208/13/2019
Решение одномерной краевой задачи (продолжение1)
Подставляем uN
Преобразуем и получаем
систему основных
проекционных уравнений
В зависимости от постановки граничных условий выбираем соответствующую систему
базисных функций
Слайд 1308/13/2019
Задача Дирихле
Выбираем систему базисных функций вида:
В силу того, что
Получаем
проекционное уравнение вида
Или для выбранных функций
Слайд 1408/13/2019
Программная реализация задачи Дирихле
function V2_1;
Be0=1; be1=0; N=4; M=10;
for i=1:N
F1 =
@(x)f(x).*sin(i*pi*x)-g(x).*(be1-be0).i*pi*cos(i*pi*x);
d(i) = quad(F1,0,1);
for k=1:N
F2 = @(x)g(x).*cos(i*pi*x).*cos(k*pi*x)*i*k*pi^2;
G(i,k)=quad(F2,0,1);
end; end
a=d/G;
a
for i=1:M+1 %выдача
графика
xt(i)=(i-1)/M;
y(i)=be0+(be1-be0)*xt(i);
for k=1:N
y(i)=y(i)+a(k)*sin(k*pi*xt(i));
end; end;
plot(xt,y);
return
Слайд 1508/13/2019
Задача со свободным левым концом
Выбираем базис вида
Первый член проекционного
уравнения используя гр. условие:
Проекционное уравнение
Слайд 1608/13/2019
Задача со свободным левым концом (продолжение)
Проекционное ур-е
После подстановки функций базиса:
Слайд 1708/13/2019
Программная реализация задачи со свободным левым концом
function V2_2(al0,be0,be1,N,M);
for i=1:N
F1
= @(x)f(x).*sin(0.5*i*pi*(1-x))-
g(x).*be1.*0.5*i*pi*cos(0.5*i*pi*(1-x));
d(i) = quad(F1,0,1)+g(0)*be0*sin(0.5*i*pi);
for k=1:N
F2 = @(x)g(x).*cos(0.5*i*pi*(1-x)).*cos(0.5*k*pi*(1-x))
*i*k*pi^2*0.25;
G(i,k)=al0*g(0)*sin(0.5*k*pi)*sin(0.5*i*pi)-quad(F2,0,1);
end; end
a=d/G;
a
for i=1:M+1
xt(i)=(i-1)/M;
y(i)=be1*xt(i);
for k=1:N
y(i)=y(i)+a(k)*sin(0.5*k*pi*(1-xt(i)));
end; end;
plot(xt,y,'b');
return
Слайд 1808/13/2019
Задача со свободным правым концом
Выбираем базис вида
Первый член проекционного ур-я
Проекционное
уравнение
Слайд 1908/13/2019
Задача со свободным правым концом (продолжение)
Проекционное уравнение
После подстановки функций базиса
Слайд 2008/13/2019
Программная реализация задачи со свободным правым концом
function V2_3(al1,be0,be1,N,M);
for i=1:N
F1 =
@(x)f(x).*sin(0.5*i*pi*x)-
g(x).*be0.*0.5*i*pi*cos(0.5*i*pi*x);
d(i) = quad(F1,0,1)-g(1).*be1*sin(0.5*i*pi);
for k=1:N
F2 = @(x)g(x).*cos(0.5*i*pi*x).*cos(0.5*k*pi*x)*i*k*pi^2*0.25;
G(i,k)=-al1*g(1).*sin(0.5*k*pi)*sin(0.5*i*pi)-quad(F2,0,1);
end; end
a=d/G;
a
for i=1:M+1
xt(i) =(i-1)/M;
y(i)=be0*(1- xt(i) );
for k=1:N
y(i)=y(i)+a(k)*sin(0.5*k*pi*xt(i));
end; end;
plot(xt,y,'b');
return
Слайд 2108/13/2019
Двумерная краевая задача Дирихле
Выбираем базис
Решение ищем в виде
Проекционное уравнение
Слайд 2208/13/2019
Двумерная краевая задача Дирихле (продолжение)
Воспользуемся методом интегрирования по частям для
двумерного случая
Получаем проекционное уравнение без вторых производных
Слайд 2308/13/2019
Сведение трехмерной задачи для ДУ в частных производных к решению
задачи для системы ОДУ методом Канторовича
Задана краевая задача в цилиндрической
области вида
Г - граница области поперечного сечения
Решение ищем в виде разложения по базису
Стандартное проекционное уравнение после интегрирования представляет систему ОДУ относительно ak
Слайд 2408/13/2019
Метод Канторовича (продолжение)