- •1. Математическое моделирование
- •2. Решение систем линейных уравнений
- •2.1. Метод Гаусса
- •2.2. Метод Крамера
- •2.3. Матричный метод
- •2.5. Итерация Гаусса-Зейделя
- •3. Плохо обусловленные системы линейных алгебраических уравнений
- •3.1. Метод регуляризации для решения плохо обусловленных систем
- •3.2. Метод вращения (Гивенса)
- •4. Решение нелинейных уравнений и систем нелинейных уравнений
- •4.1. Решение нелинейных уравнений
- •4.1.1. Отделение корней
- •4.1.2. Уточнение корней: метод итераций
- •4.1.3. Уточнение корней: метод Ньютона
- •4.2. Решение систем нелинейных уравнений
- •4.2.1. Выбор начальных приближений
- •4.2.2. Метод Ньютона
- •4.2.3. Метод итераций
- •5. Метод наименьших квадратов
- •5.1. Линейная регрессия
- •5.2. Показательная регрессионная модель
- •6. Решение обыкновенных дифференциальных уравнений
- •6.1. Метод Эйлера (метод Рунге–Кутта 1-го порядка)
- •6.2. Метод Рунге–Кутта 4-го порядка
- •7. Решение систем обыкновенных дифференциальных уравнений
- •8. Краевая задача
- •8. 1. Метод стрельбы (пристрелки)
- •9. Решение дифференциальных уравнений в частных производных
- •10. Численное интегрирование
- •10.2. Метод трапеций
- •10.3. Метод Симпсона
- •11. Задания для практических занятий
- •11.1. Решение систем линейных уравнений
- •11.2. Решение систем нелинейных уравнений
- •11.4. Решение уравнений методом простой итерации
- •11.6. Решение обыкновенных дифференциальных уравнений
- •11.7. Решение систем обыкновенных дифференциальных уравнений
- •11.8. Решение краевой задачи
- •11.9. Решение дифференциальных уравнений в частных производных
- •11.10. Численное интегрирование
- •Рекомендуемый список литературы
Формулы имеют вид
|
|
|
|
y |
i+1 |
= y |
i |
+ |
1 |
(k |
+2k |
|
|
+ |
2k |
|
+k |
|
|
|
); |
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
6 |
1 |
|
|
|
|
2 |
|
|
|
|
|
|
|
3 |
|
|
|
|
4 |
|
|
|
|
|
|
||||||
|
|
|
|
z |
i+1 |
= z |
i |
|
+ 1 |
(m |
+2m |
2 |
|
+2m |
+m ), |
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
6 |
|
1 |
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
4 |
|
|
|
|
||||||||
где |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
k0 = f1(xi ,yi ,zi ); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
k |
|
= |
f (x |
+ h |
,y |
|
+ |
h k0 |
;z |
|
+ |
h m0 |
|
); |
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
1 |
|
|
|
1 i |
|
2 |
|
|
i |
|
|
|
|
2 |
|
|
|
i |
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
k |
|
= |
f (x |
+ h |
,y |
|
+ |
h k1 |
;z |
|
+ |
h m1 |
|
); |
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
2 |
|
|
|
1 i |
|
2 |
|
|
i |
|
|
|
|
2 |
|
|
|
i |
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
k3 = f1(xi |
+ h,yi |
|
+ h k2 ,zi |
|
+ h m2 ); |
|
|
|
|
|
|
|
|
|
И |
||||||||||||||||||||||||||||
m0 = f2(xi ,yi ,zi ); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
m |
|
= |
|
f (x |
+ h |
,y |
|
+ |
|
h k0 |
|
;z |
|
+ |
|
h m0 |
|
|
); |
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
1 |
|
|
|
|
2 |
i |
|
|
|
2 |
|
|
i |
|
|
|
2 |
|
|
|
|
|
i |
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
А |
||||
m |
= |
|
f (x |
+ h |
,y |
|
+ |
h k1 |
|
;z |
|
+ |
h m1 |
|
|
|
); |
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
Д |
||||||||||||||||||||||||||||||||
|
|
2 |
|
|
|
|
2 |
i |
|
|
|
2 |
|
|
i |
|
|
|
2 |
|
|
|
|
|
i |
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
б |
|||||||||||||
m3 = f2(xi |
+h,yi |
+h k2 ,zi |
+h m2 ); |
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
i = 0,1,2... |
|
|
|
|
|
|
|
|
|
|
|
|
и |
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8. Краевая задача |
|||||||||||||
|
|
|
|
Примером краевой задачи является двухточечная краевая задача |
|||||||||||||||||||||||||||||||||||||||
для ОДУ уравнения второго порядка |
|
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y |
′′ |
= |
|
′ |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
f (x, y, y ) |
|
с граничными условиями, заданными на концах отрезка [a; b]: y(a)=y0, |
|
y(b)=y1. |
С |
Следует |
найти такое решение y(x) на отрезке [a; b], которое |
принимает на концах отрезка значения y0, y1.
Если функция f(x, y, y/) линейна по аргументам y, y/, то получаем линейную краевую задачу.
8. 1. Метод стрельбы (пристрелки)
Суть метода заключается в многократном решении задачи Коши для приближенного нахождения решения краевой задачи.
29
|
|
Пусть надо решить краевую задачу на отрезке [a; b]. Вместо |
|||
исходной задачи формулируется задача Коши |
/ |
с уравнением |
|||
y |
′′ |
′ |
(a)=α , где α |
– |
|
|
= f (x, y, y ) и начальными условиями y(a)=y0, y |
|
некоторое значение угла наклона касательной к искомой интегральной кривой в точке x=a.
Зададим некоторое начальное значение α0 , после чего решим
каким-либо численным методом (методом Эйлера или методом Рунге-Кутта) задачу Коши.
Пусть y = y0 (x,α0 ) решение задачи на интервале [a; b], тогда сравнивая значение функции y0 (b,α0 ) со значением y1 в правом
конце отрезка, можно получить информацию для корректировки угла наклона касательной к решению в левом конце отрезка.
|
И |
Выбираем новое значение |
α1, получаем другое решение со |
значением y1(b,α1) на правом конце отрезка и т.д., пока очередное
решение не совпадет со значением y .
То есть решение исходной задачи сводится к нахождению корня
уравнения Ф(α) =0, где Ф(α) = y(b, y0 ,α) − y1. Методы решения этого уравнения аналогичны методам решения нелинейных уравнений.
1 Д
Угол стрельбы выбирается из условия равенства значения |
|||||
|
|
б |
y(b, α) значению |
y1 с |
|
интегральной кривой на правой границе |
|||||
заданной точностью ε. |
|
А |
|
|
|
|y(b, α) – y1|≤ ε. |
и |
|
|
||
Интегральная кр вая, полученная из решения задачи Коши с |
|||||
С |
|
|
|
|
углом, близким к этому значен ю, и будет решением краевой задачи с точностью ε.
9. Решение дифференциальных уравнений в частных производных
В реальных физических процессах искомая функция зависит от нескольких переменных, а это приводит к уравнениям в частных производных от искомой функции. Как и для обыкновенных дифференциальных уравнений (ОДУ), в этом случае для выбора одного конкретного решения, удовлетворяющего уравнению в частных производных, кроме начальных условий, необходимо задавать дополнительные условия (т.е. краевые условия). Чаще всего такие задачи на практике не имеют аналитического решения и приходится использовать численные методы их решения, в том числе
30
метод сеток, метод конечных разностей и т.д. Мы будем рассматривать класс линейных уравнений в частных производных второго порядка. В общем виде в случае двух переменных эти уравнения записываются в виде
A(x, y) |
∂2u |
+ B(x, y) |
∂2u |
+C(x, y) |
∂2u |
+a(x, y) |
∂u |
+ |
||
∂x2 |
∂x∂y |
∂y2 |
∂x |
|||||||
|
|
|
|
|
(9.1) |
|||||
|
|
|
∂u +c(x, y)u = F(x, y), |
|
||||||
|
+b(x, y) |
|
|
|||||||
|
|
|
∂y |
|
|
|
|
|
где A, B, C, a, b, c – заданные непрерывные функции двух переменных, имеющие непрерывные частные производные, u – искомая функция. Для сокращения записи введем обозначения
.1) вида
|
+b(x, y)uy +c(x, y)u = F(x, y) |
(9.2) |
|
|
|
||
|
|
И |
|
и рассмотрим частный случай (9.2), когда a=b=c=F≡0, т.е. |
|
||
|
Д |
(9.3) |
|
|
приведено к |
||
|
эллипт ческомубАтипу, |
|
|
|
|
канонических |
|
форм) |
гиперболическому |
типу, |
параболическому т пу. Пр чем тип уравнения будет определяться коэффициентами A, B, C, а менно – знаком дискриминанта D = B2 –
координатамиСx, y; если D=0, то (9.3) – параболического типа; если D>0, то (9.3) – гиперболического типа; если D не сохраняет
– 4 A C. |
и |
Если D<0, то имеем уравнение эллиптического типа в точке с |
постоянного знака, то (9.3) – смешанного типа.
Замечание. Если A, B, C – константы, тогда каноническое
уравнение |
(9.3) |
называется |
полностью |
эллиптического, |
параболического, гиперболического типа. |
|
|||
Введем понятие оператора Лапласа для сокращенной записи |
||||
канонических уравнений вида |
|
|
||
|
|
∆u = ∂2u |
+ ∂2u . |
(9.4) |
|
|
∂x2 |
∂y2 |
|
Используя это определение, запишем сокращенные канонические уравнения всех трех типов.
31
1. ∆u = 0 . Это уравнение эллиптического типа, так называемое уравнение Лапласа. В механике это уравнение описывает стационарные тепловые поля, установившееся течение жидкости и т.д.
2. ∆u = − f , где f – заданная непрерывная функция. Это уравнение
Пуассона имеет эллиптический тип и описывает процесс теплопередачи с внутренним источником тепла.
3. a2∆u = ∂∂ut , где a – константа. Не во всех уравнениях в качестве
переменных будут выступать стандартные переменные x, y. Может быть также переменная времени. Это уравнение диффузии описывает процесс теплопроводности и является уравнением параболического
типа. |
|
|
И |
|
4. ∂2u |
|
|
||
= a2∆u, a – константа. Это уравнение |
гиперболического |
|||
∂t2 |
|
|
Д |
|
типа – так называемое волновое уравнение – и оно описывает процесс |
||||
распространения волн. |
|
|
|
|
9.1. Метод сеток для решения смешанной задачи для уравнения |
||||
|
параболического типа |
|
||
|
|
б |
|
найти искомую |
Смешанная задача означает, что следует |
||||
|
и |
|
|
|
функцию, |
удовлетворяющую Азаданному уравнению в частных |
|||
производных, краевым, а также начальным условиям. Различить эти |
||||
|
С |
|
|
|
условия можно в том случае, если одна из независимых переменных – время, а другая – пространственная координата. При этом условия, относящиеся к начальному моменту времени, называются начальными, а условия, относящиеся к фиксированным значениям координат, – краевыми.
Рассмотрим смешанную задачу для однородного уравнения теплопроводности
∂u |
= k ∂2u ,k = const > 0 . |
(9.5) |
∂t |
∂x2 |
|
Задано начальное условие |
(9.6) |
|
|
u(x,0) = f (x) |
|
и заданы краевые условия первого рода |
|
|
|
u(0,t) = µ1 (t); |
(9.7) |
|
u(a,t) = µ2 (t). |
|
|
32 |
|
Требуется найти функцию u(x,t), удовлетворяющую в области D
(0<x<a, 0<t≤T) условиям (9.6) и (9.7).
К задаче (9.5) – (9.7) приводит задача о распространении тепла в однородном стержне длины a, на
концах которого поддерживается заданный температурный режим.
При |
проведении замены |
t → |
t |
|
|
|||
k |
|
|||||||
|
∂u = |
∂2u |
|
|
|
|
||
получим |
, |
т.е. k=1. |
Задача |
|
||||
|
|
|||||||
|
∂t |
∂x2 |
|
|
|
|
|
|
решается методом сеток: строим в |
|
|||||||
области |
|
D |
равномерную |
|
||||
прямоугольную сетку с шагом h по |
|
|||||||
оси x и шагом |
по оси t (рис. 9.1). |
|
||||||
Приближенные значения искомой |
Рис. 9.1. Четырехточечный |
|||||||
|
|
|
|
|
Д |
|||
функции |
u(xi |
,tj) в точках ( |
xi ,tj) |
шаблон неявной схемы |
обозначим через uij. Тогда xi=i h; h=a / n; i=0,1,…,n; ti =jτ ; j=0,1,…, |
||||||||||||||||||
m; τ = T . |
|
|
|
|
|
|
|
|
|
|
|
|
|
И |
|
|||
|
m |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Заменим производные в (9.5) разностными отношениями |
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
б |
|
|
|||||
|
∂u |
= |
ui, j −ui, j−1 |
+O(τ); |
|
|
|
А |
|
|
||||||||
|
∂t |
|
|
τ |
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
и |
|
|
|
||||||||
∂2u |
|
|
ui+1, j −2ui, j +ui−1, j |
2 |
|
|
|
|||||||||||
|
|
|
= |
|
|
|
|
|
|
|
+O(h |
). |
|
|
|
|
|
|
∂x |
2 |
|
|
|
|
h2 |
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
С |
|
|
|
|
|
|
|
|
|||
В результате получ м неявную двухслойную разностную схему с |
||||||||||||||||||
погрешностью O(τ + h2 ) |
|
|
|
|
|
|
|
|
||||||||||
|
ui, j −ui, j−1 |
= |
ui+1, j −2ui, j +ui−1, j |
. |
|
|
|
|
|
|||||||||
|
|
|
τ |
|
|
|
|
|
|
h2 |
|
|
|
|
τ |
|
|
|
Используя подстановку λ = |
, выразим из этой схемы |
|
||||||||||||||||
|
|
|||||||||||||||||
h2 |
(9.8) |
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
ui, j−1 |
= (2λ +1)ui, j |
−λui+1, j −λui−1, j . |
Получаем разностную схему, которой аппроксимируем уравнение (9.5) во внутренних узлах сетки. Число уравнений меньше числа неизвестных uij. Из краевых условий получим уравнения
u0,i =µ1(t j );
un, j =µ2(t j ),
которые с (9.8) образуют неявную схему.
33
|
|
|
|
|
Получаем |
|
|
систему |
линейных |
||
|
|
|
|
уравнений |
|
с |
трехдиагональной |
||||
|
|
|
|
матрицей. Решив ее любым из |
|||||||
|
|
|
|
способов (в частности, методом |
|||||||
|
|
|
|
прогонки), |
|
|
получаем |
значения |
|||
|
|
|
|
функции |
|
|
на |
определенных |
|||
|
|
|
|
временных слоях. Так, на нулевом |
|||||||
|
|
|
|
временном |
|
|
слое |
используем |
|||
|
|
|
|
начальное условие ui,0=f(xi), т.к. j=0. |
|||||||
|
|
|
|
На каждом следующем слое искомая |
|||||||
|
|
|
|
функция определяется из решения |
|||||||
|
|
|
|
полученной системы. Неявная схема |
|||||||
Рис. 9.2. Четырехточечный |
|
||||||||||
|
устойчива |
для |
любых |
значений |
|||||||
шаблон явной схемы |
|
параметра λ = |
|
τ |
|
> 0. |
|
||||
|
|
|
|
|
|
||||||
|
|
|
|
h2 |
|
||||||
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
||
Есть и явная схема (рис. 9.2), но она устойчива только при λ ≤ 1 , |
|||||||||||
|
h2 |
|
|
|
|
|
|
|
|
|
2 |
т.е. при τ ≤ |
. Вычисления по этой схеме придется вести с малым |
||||||||||
|
2 |
|
|
|
|
И |
|
||||
|
|
|
|
Д |
|
|
|
|
|
||
шагом по τ, что приводит к большим затратам машинного времени. |
|||||||||||
9.2. Решение задачи Дирихле для уравнения Лапласа методом |
|||||||||||
|
|
|
Асеток |
|
|
|
|
|
|
||
Рассмотрим уравнен бе Лапласа |
|
|
|
|
|
|
|
||||
|
|
и |
|
∂2u2 |
+ ∂2u2 = |
0. |
|
|
|
|
(9.9) |
|
|
|
∂x |
∂y |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Будем рассматривать уравнение Лапласа в прямоугольной |
|||||||||||
области Ω ={(x, y),0 ≤ x ≤ a,0 ≤ y ≤b} с краевыми условиями |
|
||||||||||
|
|
С |
|
|
|
|
|
|
|
|
|
u(0, y) = f1 (y); u(a, y) = f2 (y); u(x,0) = f3 (y); u(x,b) = f4 (y),
где f1, f2 , f3 , f4 − заданные функции. Заметим, что чаще всего область
бывает не прямоугольной.
Введем обозначения uij=u(xi,yj). Накладываем на прямоугольную область сетку xi = h i;i = 0,1,...,n;; yj =l j; j = 0,1,...,m. Тогда
xn = h n, ym =l m =b.
Частные производные аппроксимируем по формулам
34
|
|
∂2u |
|
ui+1, j |
−2 ui, j +ui−1, j |
|
2 |
|
|
||
|
|
|
= |
|
|
|
+O(h |
|
); |
|
|
|
|
∂x2 |
|
|
h2 |
|
(9.10) |
||||
|
|
|
|
|
|
|
|
|
|||
|
|
∂2u |
|
ui, j+1 |
−2 ui, j +ui, j−1 |
|
|
|
|
||
|
|
= |
+O(l |
2 |
) |
|
|||||
|
|
∂y2 |
|
|
l2 |
|
|
||||
|
|
|
|
|
|
|
|
|
|
||
и заменим уравнение Лапласа конечно-разностным уравнением |
|||||||||||
|
ui+1, j −2 ui, j +ui−1, j |
+ |
ui, j+1 −2 ui, j +ui, j−1 |
= 0, |
(9.11) |
||||||
|
|
h2 |
|
|
|
||||||
|
|
|
|
|
l2 |
|
|
|
|
|
|
где i=1,…,n-1, j=1,…,m-1 (т.е. для внутренних узлов). |
|
||||||||||
Погрешность |
замены |
|
дифференциального |
уравнения |
разностным составляет величину O(h2+l2). Уравнения (9.11) и значения ui,j в граничных узлах образуют систему линейных алгебраических уравнений относительно приближенных значений
функции u (x,y) в узлах сетки. |
|
|
|
И |
|
Выразим ui,j при h=l и заменим систему |
|
||||
(ui+1, j +ui−1, j +ui, j+1 |
+ui, j+1 ) / 4; |
|
|
||
ui0 = f3 (xi ); |
Д |
(9.12) |
|||
|
|
||||
uim = f4 (xi ); |
|
|
|||
u0 j = f1 (yi ); |
|
|
|
||
unj = f2 (yi ). |
|
|
|
||
б |
алгебраических уравнений |
можно |
|||
Систему (9.12) нелинейных |
|
решить любым итерационным методом (Зейделя, простых итераций и |
|
т.д.). |
А |
При построен |
с стемы использовалась схема типа «крест» |
(рис. 9.3). Строим последовательность итераций по методу Зейделя
us+1 |
= |
1 |
(u(s+1) +u(s) |
+u(s) +u(s+1) ), |
|
i, j |
|
4 |
i−1, j |
i+1, j |
i, jи+1 i, j−1 |
где s – текущая итерация. Условие окончания итерационного
процесса |
С |
|
|
|
|
|
|
|
|
|
|
|
(9.13) |
|||||
|
maxi, j |
|
ui(,sj+1) |
−ui(,sj) |
|
<ε. |
|
|
|
|
||||||||
|
|
|
|
|
|
|
||||||||||||
Условие (9.13) ненадежно и на практике используют другой |
||||||||||||||||||
критерий maxi, j |
|
|
|
|
где ν = |
max |
i, j |
|
|
u(s+1) |
−u(s) |
|
|
. |
||||
|
|
|
|
|
|
|||||||||||||
ui(,sj+1) −ui(,sj) |
≤ε(1−ν), |
|
|
|
i, j |
i, j |
|
|
||||||||||
|
|
|
|
|
|
|||||||||||||
maxi, j |
|
|
ui(,sj) −ui(,sj−1) |
|
|
|
||||||||||||
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35