Министерство образования и науки Российской Федерации Национальный исследовательский ядерный университет «МИФИ»
А.А. Тр...
9 downloads
309 Views
466KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Министерство образования и науки Российской Федерации Национальный исследовательский ядерный университет «МИФИ»
А.А. Трухачев
ЛАБОРАТОРНЫЙ ПРАКТИКУМ по курсу «ЧИСЛЕННЫЕ МЕТОДЫ»
Учебное пособие
Москва 2010
УДК 519.6 (076.5) ББК 22.19я7 Т 80 Трухачев А.А. Лабораторный практикум по курсу «Численные методы»: Учебное пособие. М.: НИЯУ МИФИ, 2010. 88 с. Предлагаемый практикум по курсу «Численные методы» содержит пять лабораторных работ, охватывающих пять тем второй части курса, читаемого в рамках осеннего и весеннего семестров. Практикум полезен для освоения вычислительных методов, изучения их сходимости и оценки погрешностей, а также для получения навыков программирования этих методов с использованием современных языков программирования. Практикум проводится в классе персональных ЭВМ. Предназначен для студентов, обучающихся на бакалавров или специалистов по специальности 0102 – «Прикладная математика и информатика», групп К6-361 и К7-369. Предлагаемый практикум издается впервые и дополняет лабораторный практикум по курсу «Специальные вычислительные методы», используемый в рамках первой части курса. Рецензент канд. техн. наук Юшкетов М.Г. Рекомендовано редсоветом НИЯУ МИФИ в качестве учебного пособия ISBN 978-5-7262-1344-6 © Национальный исследовательский ядерный университет «МИФИ», 2010
СОДЕРЖАНИЕ Работа 1. Прямые и итерационные методы решения систем линейных алгебраических уравнений ................................................. 4 Работа 2. Собственные значения и собственные вектора матриц .. 18 Работа 3. Точечная квадратичная аппроксимация функций ........... 30 Работа 4. Методы численного дифференцирования функций ........ 35 Работа 5. Методы решения обыкновенных дифференциальных уравнений ............................................................................................. 44 Приложение ......................................................................................... 54
3
Работа 1 ПРЯМЫЕ И ИТЕРАЦИОННЫЕ МЕТОДЫ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ Ц е л ь : изучение прямых и итерационных методов решения систем линейных алгебраических уравнений. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ Методы решения систем линейных алгебраических уравнений (СЛАУ) являются одними из наиболее часто используемых: математические модели тех или иных явлений или процессов либо сразу строятся как линейные алгебраические, либо сводятся к таковым посредством дискретизации и (или) линеаризации. Метод Гаусса Данный метод хорошо известен и широко распространен. Изложим алгоритм Гаусса в матричных обозначениях, что проводит к так называемому LU-разложению обратной матрицы. Пусть задана система Ax=b, (1.1) где А – квадратная матрица коэффициентов системы, x – векторстолбец неизвестных, b – вектор-столбец свободных членов. Обозначим матрицу коэффициентов системы после преобразований k-го шага A(k), k=1,2,…,n, полагая A(1)=A, причем матрица A(k) имеет нули ниже главной диагонали в первых k–1 столбцах. Обозначим ek – k-й столбец единичной матрицы n-го порядка. На k-м шаге процесса k-я строка матрицы A(k) делится на эле(k ) , умножается на различные коэффициенты и вычитается мент akk из всех последующих за ней строк так, чтобы ненулевые элементы k-го столбца, лежащие ниже k-й строки, становились нулями. Полученную в результате матрицу можно обозначить A(k+1). В матричных обозначениях этот процесс прямого гауссова исключения может быть записан следующим образом: A( k +1) = Lk A( k ) k = 1,2,..., n , (1.2) где элементарная нижняя треугольная матрица Lk задается в виде 4
(
)
Lk = I n + η ( k ) − ek ⋅ ekT ,
а элементы вектора-столбца η зом: ηi( k ) = 0,
ηi( k ) =
1 (k ) akk
(k )
, определяются следующим обраесли i < k ; если i = k ;
,
aik( k ) , если i > k . (k ) akk Таким образом, диагональные элементы матрицы Lk равны единице во всех столбцах, кроме k-го, в котором элементы, лежащие на диагонали и под ней, равны ηi(k ) (i=k, k+1, …, n). Все остальные элементы матрицы Lk равны нулю. Теперь из (1.2) получаем A( n +1) = Ln ⋅ ... ⋅ L2 L1 A(1) . Если положить L = Ln ⋅ ... ⋅ L2 L1 и учесть, что A(1)=A и A(n+1)=U (U – верхняя треугольная матрица), то получим U = LA . Умножая уравнение (1.1) на L1, L2, …, Ln приходим к выражению Ux=Lb. (1.3) Обратный ход метода Гаусса состоит в приведении верхней треугольной матрицы U к единичной I n . Достигается это за счет последовательного умножения матрицы U слева на матрицу Uk (k=n, n-1, …, 2): U 2 ⋅ ... ⋅ U n −1U nU = I n , (1.4)
ηi( k ) = −
где U k = I n + ξ ( k ) ⋅ ekT , k = n, n − 1,...,2 , и элементы вектора-столбца
ξ (k ) задаются в виде: ξ i( k ) = −aik( k −1) , (k ) i
если i < k ;
= 1,
если i = k ;
ξ i( k ) = 0,
если i > k .
ξ
5
Таким образом, все диагональные элементы матрицы Uk равны единице, а в k-м столбце все наддиагональные элементы принимают значения ξi(k ) (i=1,2,…,k-1). Все остальные элементы Uk являются нулями. Теперь можно записать общий результат применения процессов прямого исключения и обратной подстановки к матрице A. Из уравнения (1.4) получим: U −1 = U 2 ⋅ ... ⋅ U n −1U n . А из (1.3) следует: x = U −1 Lb = U 2 ⋅ ... ⋅ U n −1U n Ln Ln −1 ⋅ ... ⋅ L1b . Чтобы уменьшить ошибки округления, а также сделать метод (k ) пригодным в случае, если на некотором шаге главный элемент akk оказывается равным нулю, предлагается две модификации метода Гаусса: 1. Метод Гаусса с частичным упорядочиванием. На k-м шаге выбирают наибольший по абсолютной величине элемент k-го столбца матрицы A(k), расположенный в k-й строке или (k ) = max aik( k ) и переставляют местами s-ю и k-ю строки ниже её: ask k ≤i ≤ n
матрицы A(k) перед выполнением вычислений k-го шага. 2. Метод Гаусса с полным упорядочиванием. На k-м шаге выбирают наибольший по абсолютной величине элемент, расположенный в последних (n–k+1) строках и столбцах матрицы A(k): ast( k ) = max aij( k ) и переставляют местами s-ю и k-ю k ≤i ≤ n k ≤ j≤n
строки и t-й и k-й столбцы матрицы A(k) перед выполнением вычислений k-го шага. Эти перестановки строк и столбцов запоминаются для дальнейшего использования. Метод квадратного корня Объем вычислений можно значительно сократить, если учесть симметрию матрицы A. Пусть матрица A = (aij )in, j =1 – симметричная матрица, т.е. aij=aji. Будем строить её представление в виде A = U T U , где 6
... u1n u11 0 ... 0 ... u2 n u12 u22 ... 0 T , U = . ... ... ... ... ... ... 0 ... unn u1n u2 n ... unn n( n − 1) уравнений относительно такого же Составим систему 2 количества неизвестных элементов матрицы U: 2 u11 = a11 , u11u12 = a12 , ... , u11unn = a1n ; u11 0 U = ... 0
u12 u22 ...
2 2 u12 + u22 = a22 ,
... ,
u12u1n + u22u2 n = a2 n ;
... 2 u12n + u22n + ... + unn = ann .
Из первой строки уравнений находим сначала u11 = a11 , затем a1 j 2 u1 j = при j=2,…,n. Из второй – u22 = a22 − u12 , затем u11 a2 j − u12 u1 j при j=3,…,n, и так далее. Завершается процесс u2 j = u22 n −1
вычислением unn = ann −
∑u
2 kn
.
k =1
Таким образом, матрица U может быть определена совокупностью формул: i −1
uii = aii −
∑u
2 ki
при i=1, 2, …, n;
(1.5)
k =1 i −1
aij −
∑u
ki u kj
при j=2,…,n; j>i (uij=0 при j
k =1
7
При наличии UTU-разложения решение симметричной системы Ax=b сводится к последовательному решению двух треугольных систем: UTy=b и Ux=y. Первая из них имеет вид
u11 y1 u y + u y 12 1 22 2 ... u1n y1 + u 2 n y 2 + ... + u nn y n
= b1 ; = b2 ; ... = bn ,
откуда вспомогательные переменные y1, y2, …, yn получаются по i −1
bi −
формуле y i =
∑u
ki
yk
, полагая в ней i=1, 2, …, n.
k =1
uii Из второй системы
u11 x1 + u12 x2 + ... + u1n xn = y1 ; u 22 x2 + ... + u2 n xn = y2 ; ... ... u nn xn = yn , находим значения xi в обратном порядке, т.е. при i=n, n-1,…, 1 по n
yi −
формуле xi =
∑u
ik xk
k = i +1
uii
.
Первый метод ортогонализации Пусть Ax=b – система линейных уравнений с положительно определенной симметричной матрицей. Скалярное произведение произвольных векторов с и d обычно задается в виде n
(c, d ) = ∑ ci d i ,
где ci и di – компоненты соответствующих векто-
i =1
ров. Определим ещё одно произведение векторов с и d: 8
n
n
[c, d ]A = (c, Ad ) = ∑∑ aij ci d j .
(1.6)
i =1 j =1
Свойства матрицы A позволяют утверждать, что произведение, определенное равенством (1.6), обладает всеми свойствами скалярного произведения. Если [c, d ]A = 0 , будем говорить, что векторы A-ортогональны. Пусть система векторов f1,…,fn A-ортогональна, т.е. для любых i ≠ j f i , f j A = 0 . Можно видеть, что в данном случае f1,…,fn об-
[
]
разуют базис. Будем искать решение в виде n
x=
∑c
j
fj ,
(1.7)
j =1
где cj – неизвестные коэффициенты. Подставив это выражение в уравнение системы, получим n
∑c
A
n
j
fj =
j =1
∑ c Af j
j
= b.
j =1
Умножив последнее равенство скалярно на fk, получим n
∑ c (Af j
j,
fk )=
n
∑c [f
j =1
j
j,
fk
]
A
= c k [ f k , f k ]A = (b, f k ) .
j =1
Откуда ck =
(b, f k ) [ f k , f k ]A
,
k=1,…,n.
Зная ck, из выражения (1.7) можно получить искомое решение. Построение A-ортогональной системы векторов f1, …, fn обычно проводят на системе e1, …, en векторов-столбцов единичной матрицы. Процедура ортогонализации Грама–Шмидта произвольной линейно независимой системы векторов Пусть e1, …, en – произвольная линейно независимая система векторов евклидова пространства Rn; (ei, ej) – означает скалярное произведение векторов. Требуется построить ортогональную по
9
заданному скалярному произведению систему векторов f1, …, fn, т.е. ( f i , f j ) = 0, если i ≠ j . Первый вектор ортогональной системы можно выбрать произвольно, поэтому положим f1=e1. Вектор f2 будем искать в следующем виде: f 2 = e2 + α 21e1 . Коэффициент α21 выбирается из условия (f2, f1)=0 или (e2 + α 21 f 1 , f1 ) = (e2 , f1 ) + α 21 ( f1 , f1 ) = 0 . Таким образом, (e , f ) α 21 = − 2 1 . ( f1 , f1 ) Для любого k ≤ n вектор fk будем искать в виде k −1
f k = ek +
∑α
kj
⋅ fj ,
(1.8)
j =1
а
неизвестные коэффициенты αkj находятся из условий l = 1,..., k − 1 . Поскольку ранее построенные векторы f1,f2,…,fk-1 ортогональны, то справедливо равенство: ( f k , f l ) = (ek , f l ) + α kl ( f l , f l ) = 0;
( f k , f l ) = 0,
α kl = −
(ek , f l ) . ( fl , fl )
Из независимости системы e1, …, en следует, что описанный выше процесс ортогонализации выполним, т.е. при любом 1 ≤ k ≤ n вектор f k ≠ 0 . Второй метод ортогонализации Пусть A – произвольная невырожденная матрица СЛАУ. Это означает, что система вектор-строк этой матрицы линейно независима. Эту систему векторов можно ортогонализировать по обычному скалярному произведению, т.е. построить новую систему вектор-строк a~iT , обладающую свойством (a~i , a~ j ) = 0, если i ≠ j .
{ }
{ }
Допустим, что из системы строк aiT матрицы A необходимо получить частично ортогональную систему a~ T , a~ T , a T ,..., a T , у которой
{
1
2
3
n
}
первые два вектора ортогональны, а остальные совпадают с соот10
{ }
ветствующими векторами системы aiT . Процесс ортогонализации проходит по формуле (1.8). Тогда матрица H2 частичной ортогонализации (перехода к системе a~1T , a~2T , a3T ,..., anT ) имеет вид:
{
}
1 0 0 ... 0 α 1 0 ... 0 21 H 2 = 0 0 1 ... 0 ... ... ... ... ... 0 0 0 ... 1 системы a~ T , a~ T , a T ,..., a T
{
}
Переход от к системе 1 2 3 n a~1T , a~2T , a~3T , a4T ,..., anT , у которой три вектора ортогональны, осуществляется через матрицу H3: 0 0 ... 0 1 0 1 0 ... 0 H 3 = α 31 α 32 1 ... 0 ... ... ... ... ... 0 0 0 ... 1 В общем случае при переходе от системы с ортогональными (k-1) векторами к системе с ортогональными k векторами надо воспользоваться матрицей 0 ... ... 0 0 1 ... ... ... ... ... ... H k = α k 1 α k 2 ... α k , k −1 1 ... 0 ... ... ... ... ... ... 0 0 ... ... 0 1 Переход от исходной системы вектор-строк матрицы A к ортогональной можно осуществить, умножая A слева на матрицы H1, ~ …, Hn, т.е. H n H n −1 ⋅ ... ⋅ H1 A = A . Если задана система Ax=b с невырожденной матрицей A, то, домножив её слева последовательно на матрицы H1, …, Hn, получим эквивалентную систему
{
}
11
~ A x = Hb , ~ где H = H n H n −1 ⋅ ... ⋅ H1 , A = HA . Будем искать решение в виде
(1.9)
n
x=
∑ c a~ j
j
,
(1.10)
j =1
где a~ j – векторы-столбцы. Подставим это выражение в (1.9), получим n ~ ~ ~ Ax = c j A ⋅ a~ j = Hb . Произведение A ⋅ a~ j дает вектор-столбец,
∑ j =1
все компоненты которого равны нулю, кроме j-го, который равен (a~ j , a~ j ) ≠ 0 . Отсюда следует, что
(H ⋅ b ) j cj = ~ ~ , (a j , a j ) где (H ⋅ b ) j – j-й компонент вектора Hb. Зная сj (j=1,…,n), вектор решения определяется по формуле (1.10). Метод Якоби СЛАУ стандартного вида Ax=b, где A = (aij )in, j =1 – nxn-матрица, а x = ( x1 ,..., x n ) и b = (b1 ,..., bn ) – n-мерные векторы-столбцы, тем или иным способом может быть преобразована к эквивалентной системе вида x=Bx+c, (1.11) где x – тот же вектор неизвестных, а B и c – некоторые новые матрица и вектор соответственно. На основе системы (1.11) можно определить итерационный процесс приближений x(k) к неподвижной точке x* (решению системы (1.11)): x ( k +1) = Bx ( k ) + c , k=0, 1, 2, … (1.12) Итерационный процесс (1.12) начинается с некоторого вектора T
(
x ( 0 ) = x1( 0 ) ,..., xn( 0 ) (МПИ).
T
)
T
и называется методом простых итераций 12
Приведем несколько утверждений о сходимости и оценке погрешности решения, доказательства которых можно найти в литературе. Теорема 1. Необходимым и достаточным условием сходимости МПИ при любом начальном векторе x(0) к решению x* системы (1.11) является требование, чтобы все собственные числа матрицы B были по модулю меньше единицы. Теорема 2. Пусть B ≤ q < 1 , где B – норма матрицы B. Тогда при любом начальном векторе x(0) МПИ (1.12) сходится к единственному решению x* системы (1.11), и при всех k ∈ N справедливы оценки погрешности: q 1) x* − x ( k ) ≤ x ( k ) − x ( k −1) (апостериорная оценка); 1− q 2)
x* − x ( k ) ≤
qk x (1) − x ( 0 ) 1− q
(априорная оценка),
где x – норма некоторого вектора x, согласованная с нормой матрицы B. Определение 1. Нормой вектора x = ( x1 ,..., x n )T называется неотрицательная функция координат вектора, обозначаемая x , и удовлетворяющая требованиям: 1) x > 0 для ∀x ≠ 0 и 0 = 0 ; 2)
cx = c ⋅ x для ∀c, x ;
3) x + y ≤ x + y . Примеры норм векторов: 1) x 1 = max xi ; i
n
2)
x2=
∑x
;
i
i =1 n
3)
x3=
∑x
2 i
i =1
13
.
Определение 2. Нормой квадратной матрицы A = (aij )i , j =1 назыn
вается неотрицательная функция её элементов, обозначаемая A и удовлетворяющая требованиям: 1) A > 0 для ∀A ≠ 0 и 0 = 0 ; 2)
cA = c ⋅ A для ∀c, A ;
3)
A+B ≤ A + B ;
4) A + B ≤ A ⋅ B . Примеры норм матриц: n
1)
A 1 = max i
∑a
ij
;
j =1 n
2)
A 2 = max j
3)
∑a
ij
;
i =1
A 3 = Λ , где Λ – наибольшее собственное
число матрицы ATA. Норма вектора и норма матрицы согласованы между собой, если A ⋅ x ≤ A ⋅ x для ∀A, x . Одним из подходов к построению итерационного процесса (1.12) является следующий. Представим матрицу A исходной СЛАУ в виде A=L+D+R, где D – диагональная, а L и R –левая и правая строго треугольные матрицы соответственно. Тогда система может быть переписана в виде Lx+Dx+Rx=b, если на диагонали исходной матрицы нет нулей, то эквивалентной задачей вида (1.11) будет x = − D −1 (L + R )x + D −1b , т.е. в равенстве (1.11) следуют положить B = − D −1 (L + R ) и c = D −1b . Основанный на таком приведении исходной системы к виду (1.11) метод простых итераций называется методом Якоби. В векторно-матричных обозначениях он определяется формулой
14
x ( k +1) = − D −1 (L + R )x ( k ) + D −1b
k=0, 1, 2, …
Метод Зейделя Под методом Зейделя понимается такое видоизменение МПИ, при котором для подсчета i-й компоненты (k+1)-го приближения к искомому вектору x* используются уже найденные на этом (k+1)-м шаге новые значения первых (i-1) компонент. В векторно-матричной форме это можно записать как L ⋅ x ( k +1) + D ⋅ x ( k +1) + R ⋅ x ( k ) = b . Отсюда −1 −1 x ( k +1) = − (L + D ) Rx ( k ) + (L + D ) b , т.е. в данном случае B = − (L + D ) R и c = (L + D ) b . −1
−1
ПОДГОТОВКА К РАБОТЕ 1. Изучить описание лабораторной работы. 2. Написать программу решения СЛАУ одним или несколькими методами, указанными в варианте. Входные параметры программы: размерность системы n; матрица коэффициентов A размерности nxn; вектор свободных членов b. Дополнительный входной параметр итерационных методов: величина ε для останова итерационного процесса. Выходные параметры программы: вектор решения системы; вектор невязки решения, определяемый по формуле r = b − Ax ; норма вектора невязки. Дополнительные выходные параметры итерационных методов: начальный вектор x(0); число шагов итерационного процесса; величину x ( k ) − x ( k −1) для последнего шага процесса.
15
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ 1. Отладить программы, реализующие указанные методы. 2. С помощью программ найти решение СЛАУ. 3. В случае если предложенный в варианте метод не позволяет найти решение, предложить и реализовать его модификацию для нахождения решения СЛАУ. ОТЧЕТ О РАБОТЕ Отчет о работе должен включать в себя: 1. Название и цель лабораторной работы. 2. Постановку задачи. 3. Исходные данные (размерность матрицы, СЛАУ, величину ε). 4. Вид матрицы B и вектора c для итерационных методов. 5. Расчет нормы матрицы B и выводы о сходимости итерационного процесса. 6. Априорную оценку числа шагов итерационного процесса. 7. Выходные данные программ решения СЛАУ. 8. График зависимости нормы вектора разности приближения к решению на текущем и предыдущих шагах итерационного процесса от номера шага (для итерационных методов). КОНТРОЛЬНЫЕ ВОПРОСЫ 1. На какие два класса можно разделить численные методы решения СЛАУ? 2. Опишите прямой и обратный ход метода Гаусса в матричной форме. Какие модификации метода существуют? 3. Сравните метод Гаусса и квадратного корня. Какие преимущества и недостатки есть у каждого из них? 4. Опишите процедуру ортогонализации Грама–Шмидта. В каких методах и как она используется? 5. Сравните прямые и итерационные методы решения СЛАУ. Какие преимущества и недостатки есть у каждого из подходов? 6. Дайте определение нормы вектора и матрицы, приведите примеры норм. Что такое согласованные нормы вектора и матрицы? 16
7. Запишите итерационный процесс метода простой итерации. Какие условия сходимости данного метода? 8. Приведите априорную и апостериорную оценку погрешности решения МПИ. Как можно оценить число шагов решения для достижения требуемой точности ε? 9. Запишите методы Якоби и Зейделя в матричной форме. Какой из них будет сходиться быстрее в случае диагонального преобладания в матрице A? 10. Что называется невязкой решения СЛАУ? Пример варианта Размерность матрицы: Матрица А: 3.45 0.97 -0.31 -3.76 0.96 -0.24 -0.29 0.50 -0.96 -0.11 0.63 -0.80 Величина Методы
n=6. 0.99 1.00 -0.58 0.07 0.63 0.70 -7.31 0.56 0.49 -0.74 5.27 -0.19 0.73 0.81 -3.90 0.42 -0.79 -0.05 ε=1·10-4. Гаусса, Якоби.
-0.71 -0.01 0.06 0.02 -0.55 8.70
СПИСОК РЕКОМЕНДОВАННОЙ ЛИТЕРАТУРЫ 1. Вержбицкий В.М. Основы численных методов. М.: Высшая школа, 2002. 2. Тимохин С.Г. Алгоритмизация вычислений. М.: МИФИ, 1983.
17
Работа 2 СОБСТВЕННЫЕ ЗНАЧЕНИЯ И СОБСТВЕННЫЕ ВЕКТОРЫ МАТРИЦ Ц е л ь : изучение методов нахождения всех собственных значений матрицы, а также построения характеристического многочлена и собственных векторов. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ Нахождение собственных чисел и собственных векторов матриц является востребованной, но в то же время наиболее сложной задачей вычислительной линейной алгебры. В данной работе рассматривается итерационный процесс вращений Якоби, который позволяет найти все собственные значения симметричной вещественной матрицы. А также методы Данилевского определения характеристического многочлена и получения собственных векторов. Метод вращения Якоби решения полной проблемы собственных значений Подобными называются матрица A и B=C-1AC, где C – произвольная невырожденная матрица. Пусть {λ, x} – собственная пара матрицы B=C-1AC, тогда {λ, Cx} – собственная пара матрицы A. Основой метода является использование преобразований с помощью так называемой матрицы плоских вращений: i j : : ... ... 0 1 ... c ... − s ... : : Tij = ... s ... c ... 0 ... ... 1
18
(2.1)
Она получается из единичной матрицы заменой двух единиц и двух нулей на пересечениях i-х и j-х строк и столбцов числами с и ±s, как показано в (2.1), такими, что c2+s2=1. (2.2) Условие нормировки (2.2) позволяет интерпретировать числа с и s как косинус и синус некоторого угла α, и так как умножение любой матрицы на матрицу Tij изменяет у неё только две строки и два столбца по формулам поворота на угол α в плоскости, определяемой выбранной парой индексов i и j, то это полностью оправдывает название матрицы Tij. Матрица Tij ортогональна (TijTTij=TijTijT=I) при любых i и j, а значит матрица B=Tij-1ATij (2.3) подобна A, т.е. имеет тот же набор собственных чисел, что и матрица A. Классический итерационный метод вращений, предложенный Якоби, предполагает построение последовательности матриц B0(=A), B1, B2, …, Bk, … с помощью преобразований типа (2.3) Bk=Tij-1Bk-1Tij (2.4) такой, что на k-м шаге обнуляется максимальный по модулю элемент матрицы Bk-1 предыдущего шага (а значит и симметричный ему элемент). Эта стратегия определяет способ фиксирования пары индексов i и j, задающих позиции (i,i), (j,j), (i,j), (j,i) «существенных» элементов в матрице вращения Tij, и угол поворота α, конкретизирующий значения этих элементов с=cos α, и ±s=±sin α. На каждом шаге таких преобразований пересчитываются только две строки (или два столбца) матрицы предыдущего шага. Хотя, к сожалению, нельзя рассчитывать, что таким путем за конечное число шагов можно точно найти диагональную матрицу Λ (Λ=diag(λi)), ибо полученные на некотором этапе преобразований нулевые элементы на следующем этапе станут, вообще говоря, ненулевыми, но нужное предельное поведение Bk → Λ k →∞ будет иметь место. Рассмотрим теперь данный метод подробнее. Пусть n n A = (aml )m ,l =1 – исходная симметричная матрица, а B = (bml )m,l =1 – 19
матрица, получающаяся после одного шага преобразований по ~ ~ формуле (2.3). Обозначим через A и B двумерные подматрицы этих матриц, определяемые фиксированием позиции (i,j) некоторого элемента aij матрицы A: ~ aii aij ~ bii bij , A = B = aij a jj b ji b jj ~ а через T – такую же подматрицу матрицы Tij: ~ c − s . T = s c Очевидно, что равенство (2.3) записанное для матриц A, B, Tij, ~ ~ ~ будет верным и для матриц A , B и T . Пользуясь этим, подсчита~ ем элементы матрицы B : c s caii + saij caij − saii ~ ~ = B = T T AT = − s c caij + sa jj ca jj − saij c 2 aii + 2csaij + s 2 a jj c 2 aij − csaii + csa jj − s 2 aij . = 2 c a − csa + csa − s 2 a c 2 a jj − 2csaij + s 2 aii ii jj ij ij Отсюда видим, что bij=bji=0, если (c2–s2)aij–cs(aii–ajj)=0, т.е. если aij cs = . 2 2 aii − a jj c −s
Учитывая тригонометрическую интерпретацию чисел с=cos α, и s=sin α, можно считать sin 2α , cs = c 2 − s 2 = cos 2α . 2 ~ Приходим к выводу, что матрица B будет иметь нулевые внедиагональные элементы bij=bji, если использовать предобразование по формуле плоского вращения (2.3) на угол α такой что 2 aij tg 2α = . aii − a jj π π Для определенности считают α ∈ − ; . 4 4
20
Опишем один шаг метода для n-мерного случая. Пусть aij – ключевой элемент матрицы A. Матрица B, подобная матрице A, формируется следующим образом: 1. Вычисляют p=2aij, q= aii-ajj, d = 2. Если q≠0, то r =
q 2d
p 2 + q2 .
, c = 0.5 + r , s = 0.5 − r ⋅ sign( pq)
(если p << q <<, то лучше s =
p 2cd
sign( pq) ).
2 . 2 3. Вычисляют новые диагональные элементы: bii=c2aii+s2ajj+2csaij; bjj=s2aii+c2ajj-2csaij. 4. Полагают bij=bji=0 и для контроля вычисляют bij=bji=(c2-s2)aij-cs(aii-ajj). 5. При m=1,2,…,n таких, что m≠i и m≠j, вычисляют изменяющиеся внедиагональные элементы: bim=bmi=cami+samj; bjm=bmj=-sami+camj. 6. Для всех остальных пар индексов m, l принимают bml=aml. Если в качестве ключевого элемента на каждом шаге преобразований подобия по указанным формулам брать максимальный по модулю элемент преобразуемой матрицы, то в пределе получится диагональная матрица. Числа, стоящие на главной диагонали данной матрицы, будут собственными числами матрицы A. За собственные векторы x1, x2, …, xn матрицы A могут быть приближенно приняты столбы матрицы Tk = Ti0 j 0 Ti1 j1 ⋅ ... ⋅ Ti k −1 j k −1 ,
Если q=0, то c = s =
если учесть следующие обозначения:
21
B1 = TiT0 j 0 ATi0 j 0 ; B2 = Ti1Tj1 B1Ti1 j1 = Ti1Tj1 Ti0T j 0 ATi0 j 0 Ti1 j1 ; ... Bk = TiTk −1 j k −1 ...Ti0T j 0 ATi0 j 0 ...Ti k −1 j k −1 .
Признаком окончания процесса вращения по методу Якоби может служить малость bij( k ) . Метод Данилевского определения характеристического многочлена Характеристическим многочленом квадратной матрицы A называется многочлен φ(λ), определяемый равенством ϕ (λ ) = A − λI = (− 1)n λn − S1λn −1 + ... + (− 1)n S n ,
(
)
где A − λI – определитель матрицы. Вычислим характеристический многочлен матрицы B следующего частого вида: p1 p2 ... p n −1 p n 0 ... 0 0 1 (2.5) B = 0 1 ... 0 0 ... 0 0 ... 1 0 ( p1 − λ ) p2 ... pn −1 pn 1 0 (− λ ) ... 0 ϕ (λ ) = (2.6) 0 1 ... 0 0 ... 0 0 ... 1 (− λ )
22
Раскрывая определитель (2.6) по элементам первой строки, получим: ϕ (λ ) = ( p1 − λ ) ⋅ (− λ )n−1 − p 2 (− λ )n−2 + ... + (− 1)n+1 p n = (2.7) n = (− 1) ⋅ λn − p1λn −1 − p 2 λn −2 − ... − p n . Сравнивая выражение (2.7) и определение характеристического многочлена, видим, что коэффициенты pi являются коэффициентами характеристического многочлена матрицы B. Таким образом, учитывая теорему о том, что характеристические многочлены подобных матриц совпадают, если бы некоторую матрицу A подобными преобразованиями удалось свести к виду (2.5), то вычисление характеристического многочлена этой матрицы не представляет труда. Матрицы вида (2.5) носят название матриц в «форме Фробениуса». Метод Данилевского состоит в приведении матрицы подобными преобразованиями к виду Фробениуса. Заметим, что не все матрицы могут быть приведены к виду Фробениуса, тем не менее характеристический многочлен можно получить для любой матрицы, используя метод Данилевского в достаточно простой модификации. Пусть A – матрица, характеристический многочлен которой необходимо получить. Если элемент an,n-1≠0, поделим все элементы (n-1)-го столбца на an,n-1. Обозначив a·n-1 – (n-1)-й столбец матрицы ~ A, после деления получим преобразованную матрицу A , у которой ~ ~ последняя координата вектора a ⋅n −1 равна 1: a nn −1 = 1 . Умножая этот столбец на элементы –anj (j=1,2,…,n-2,n) и складывая с j-м столбцом матрицы A, получим полностью преобразованную матрицу, последняя строка которой имеет вид: (0,0,…,0,1,0). Обозна~ чим через Mn-1 матрицу преобразования от A к A : ~ A ⋅ M n −1 = A . (2.8) Матрицу Mn-1 можно получить из единичной матрицы, проделав с ее столбцами те же преобразования, что и с матрицей A для полу~ чения A . Результатами этих преобразований будет матрица:
(
)
23
j
M M M 1 M M M M (2.9) anj M n −1 = ann 1 L − M L − an ,n −1 an ,n −1 a n ,n −1 0 K L L 0 1 C учетом (2.9) непосредственной проверкой можно убедиться в справедливости равенства (2.8). Заметим, что осуществленное преобразование (2.8) не является подобным, поэтому для сохранения характеристического многочлена необходимо равенство (2.8) умножить слева на M n−−11 .
Очевидно, что Mn-1 – невырожденная матрица, а потому M n−−11 существует. Непосредственной проверкой нетрудно убедиться, что матрица M n−−11 имеет вид 0 1 K K M M O −1 M n −1 = a an ,n −1 ann n1 0 1 0 K Умножив (2.8) слева на (2.10), получим: ~ ~ ~ M n−−11 AM n −1 = M n−−11 A = A ,
(2.10)
(2.11) ~ ~ причем характеристические многочлены матрицы A и A совпада~ ~ ~ ют. Заметим, что последние строки матриц A и A совпадают, так как матрица M n−−11 имеет в последней строке все нули, кроме последнего элемента, который равен единице. ~ ~ Таким образом, подобная матрица A имеет последнюю строку, совпадающую с видом Фробениуса. Если у исходной матрицы A элемент an,n-1=0, то необходимо переставить (n-1)-й столбец со столбцом j, у которого anj≠0. Такой столбец обязательно найдется, так как не все элементы последней строки нулевые. Для того чтобы характеристический многочлен матрицы A не изменился, необходимо поменять местами строки j и (n-1), что эквивалентно умноже24
нию слева на перестановочную матрицу строк. После этого выполнимы все описанные выше преобразования. ~ Для продолжения процесса рассмотрим элемент a~n −1, n − 2 . Если ~ a~ ≠ 0 , то, используя (n-2)-й столбец аналогично (n-1)-у n −1, n − 2
столбцу матрицы A в описанных преобразованиях, получим матрицу M n−−12 M n−−11 AM n −1M n − 2 , подобную исходной с двумя строками в ~ форме Фробениуса. Если a~ = 0 , необходимо поменять (n-2)-й n −1, n − 2
столбец с любым столбцом j, j
ния характеристического многочлена этой матрицы необходимо вычесть из диагональных элементов λ и раскрыть получившийся определитель. Нетрудно видеть, что ϕ (λ ) = B − λI = B1 − λI k −1 ⋅ B2 − λI n − k +1 , где B2 – описанная выше матрица вида Фробениуса, а B1 – левая верхняя угловая подматрица B размерности (k-1). Для получения характеристического многочлена необходимо ее преобразовать к виду Фробениуса. Таким образом, применяя метод Данилевского, характеристический многочлен можно получить для любой матрицы A. Получение собственных векторов по методу Данилевского Пусть матрица A подобными преобразованиями приведена к виду Фробениуса. Известно, что собственные векторы подобных матриц совпадают. Найдем собственный вектор матрицы A в виде Фробениуса, отвечающий известному собственному значению λ. Предполагается, что по характеристическому многочлену можно установить все собственные значения. Будем предполагать, что найденное собственное значение λ не является кратным. Нахождение собственного вектора v для матрицы, заданной в форме Фробениуса, состоит в решении однородной системы линейных уравнений: p1 − λ p2 K pn −1 pn v1 −λ K 0 0 v2 1 =0. (2.13) O O M M K 1 − λ vn 0 Ранг матрицы этой системы равен (n-1), поскольку λ – простой корень характеристического уравнения. Это дает нам возможность задать произвольно одну из координат вектора v, например vn=1, и отбросить одно из уравнений системы, являющееся линейно зависимым от остальных. Таким уравнением будет первая строка системы (2.13). Остальные уравнения системы имеют вид: v k −1 − λv k = 0, k = 2,..., n . (2.14) Зная, что vn=1, из (2.14) при k=n найдем vn −1 = λ . 26
Используя найдем:
(2.14)
при
k=(n-1), (n-2),…,2,
последовательно
(2.15) vn = 1, vn −1 = λ , vn − 2 = λ2 , K , v1 = λn −1 . Найденный вектор v является собственным вектором матрицы A в базисе, в котором матрица A имеет вид Фробениуса. Пусть T = M n −1 K M 1 , тогда T −1 ATv = λv .
Отсюда A(Tv ) = λ (Tv ) . (2.16) Из (2.16) следует, что (Tv) – собственный вектор матрицы A, соответствующий собственному значению λ и выраженный в базисе, в котором матрица имеет исходный вид A. Таким образом, используя (2.15) и (2.16), установим координаты собственного вектора в исходном базисе.
ПОДГОТОВКА К РАБОТЕ 1. Изучить описание лабораторной работы. 2. Написать программу вычисления всех собственных чисел матрицы с помощью метода вращений Якоби. Входные параметры программы: размерность матрицы n; симметричная вещественная матрица A размерности nxn; величина ε для оценки малости ключевого элемента. Выходные параметры программы: вектор собственных значений; число шагов итерационного процесса. 3. Написать программу определения характеристического многочлена с помощью метода Данилевского. Входные параметры программы: размерность матрицы n; матрица A размерности nxn. Выходные параметры программы: матрица в форме Фробениуса. 4. Написать программу получения собственных векторов помощью метода Данилевского. 27
Входные параметры программы: размерность матрицы n; матрица A размерности nxn; вектор собственных чисел. Выходные параметры программы: набор собственных векторов, соответствующих собственным числам матрицы А. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ 1. Отладить программы, реализующие указанные методы. 2. С помощью программы найти все собственные значения указанной матрицы А. 3. С помощью программы определения характеристического многочлена построить характеристический многочлен, проверить для каждого собственного числа матрицы выполнение условия ϕ (λ ) = 0 . 4. С помощью программы получения собственных векторов для каждого собственного значения матрицы построить собственный вектор. Проверить выполнение условия Av = λv . ОТЧЕТ О РАБОТЕ В отчете о работе должны быть помещены: 1. Название и цель лабораторной работы. 2. Постановка задачи. 3. Исходные данные (размерность матрицы, сама матрица A, величина ε). 4. Получение собственные значения матрицы и количество шагов итерационного процесса. 5. Вид матриц преобразований M (2.9) для каждого этапа преобразований. 6. Вид матрицы в форме Фробениуса и построенный на её основе характеристический многочлен. 7. Результаты проверки всех собственных значений путем их подстановки в построенный характеристический многочлен. 8. Собственные вектора матрицы, соответствующие собственным значениям, и результаты подстановки их в уравнение Av = λv . 28
КОНТРОЛЬНЫЕ ВОПРОСЫ 1. Приведите определение характеристического многочлена матрицы. 2. Дайте определение собственных значений матрицы. 3. Приведите определение собственного вектора матрицы. 4. Дайте определение подобных матриц. Каким свойством обладают характеристические многочлены подобных матриц? 5. Запишите вид матрицы в форме Фробениуса. 6. Для каких матриц применим метод вращений Якоби? Каково условие останова этого метода? Пример варианта Размерность матрицы: Матрица А:
Величина
n=4. 0.0 15.6 - 0.4 12.5 - 0.4 13.2 - 10.7 12.0 12.5 - 10.7 23.9 - 13.2 . 0.0 12.0 - 13.2 15.0 ε=1·10-4.
СПИСОК РЕКОМЕНДОВАННОЙ ЛИТЕРАТУРЫ 1. Вержбицкий В.М. Основы численных методов. М.: Высшая школа, 2002. 2. Тимохин С.Г. Алгоритмизация вычислений. М.: МИФИ, 1983.
29
Работа 3 ТОЧЕЧНАЯ КВАДРАТИЧНАЯ АППРОКСИМАЦИЯ ФУНКЦИЙ Ц е л ь : изучение методов точечной квадратичной аппроксимации функций. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ Построение точечной квадратичной аппроксимации некоторой функциональной зависимости y=f(x) может быть актуально в случае, если данная зависимость получена в результате эксперимента, и, следовательно, может содержать ошибки экспериментальных данных. Чаще всего зависимость между независимой переменной x и зависимой переменной y задается в виде таблицы значений: x y
x0 y0
x1 y1
… …
xn yn
Здесь yi≈f(xi) – приближенные значения, получаемые в ходе эксперимента или наблюдений. Требуется подобрать функцию ϕ(x) такую, которая аппроксимировала бы на отрезке [xo ,xn] заданную своими отдельными приближениями yi функцию f(x). Исходя из некоторых соображений (аналитических, графических или иных) аппроксимирующая функция ϕ(x) берется из определенного m-параметрического семейства функций, и её параметры подбирают так, чтобы сумма квадратов отклонений вычисляемых значений ϕ(xi) от заданных приближенных значений yi была минимальной. Такая функция ϕ(x) будет наилучшей аппроксимаций функции f(x) в смысле метода наименьших квадратов. Очевидно, что для разрешимости задачи число параметров m не должно превышать число приближенных значений yi (как правило, считается, что n>>m). Итак, аппроксимирующая функция зависит кроме переменной x от m параметров a1, a2,…,am (m≤n-1): ϕ=ϕ(x,a1,a2,…,am), значения которых определяются из решения экстремальной задачи 30
n
∑ (ϕ (x , a , a ,..., a ) − y ) i
1
2
m
2
i
→ min .
(3.1)
i =0
Оптимальный набор параметров a1* , a2* ,..., am* может быть найден из системы n ∂ϕ = 0; (ϕ ( xi , a1 , a2 ,..., am ) − yi ) ∂a1 x = x i=0 i n ∂ϕ (ϕ ( xi , a1 , a2 ,..., am ) − yi ) = 0; (3.2) i =0 ∂a2 x = x i .......... .......... n (ϕ ( x , a , a ,..., a ) − y ) ∂ϕ = 0. i 1 2 m i ∂ am x = x i = 0 i Важным частным случаем является представление аппроксимирующей функции ϕ(x) в виде обобщенного многочлена Qm(x): Qm ( x ) = c0 q0 ( x ) + c1 q1 ( x ) + ... + cm qm ( x ) , (3.3)
∑
∑
∑
где {q j ( x )}mj= 0 – некоторая заданная на [a,b] система линейно независимых функций, c0, c1,…,cm – произвольные вещественные числа (коэффициенты обобщенного многочлена). В этом случае оптимизационная задача принимает вид n
∑ (c q ( x ) + c q ( x ) + ... + c q 0 0
i
1 1
m m ( xi ) −
i
yi )2 → min .
(3.4)
i =0
А оптимальный набор параметров c0* , c1* ,..., cm* может быть найден из системы n q0 ( xi )(c0 q0 ( xi ) + c1q1 ( xi ) + ... + cm qm ( xi ) − yi ) = 0; i =0 n q1 ( xi )(c0 q0 ( xi ) + c1q1 ( xi ) + ... + cm qm ( xi ) − yi ) = 0; (3.5) i=0 .......... .......... n qm ( xi )(c0 q0 ( xi ) + c1q1 ( xi ) + ... + cm qm ( xi ) − yi ) = 0. i = 0
∑
∑
∑
31
n
Определение скалярного произведения
( f , g ) = ∑ f ( xi ) g ( xi ) i =0
позволяет привести систему к следующему виду: n ( q0 , q0 )co + ( q0 , q1 )c1 + ... + ( q0 , qm )cm = ( q0 , f ); i =0 n ( q , q )c + ( q1 , q1 )c1 + ... + ( q1 , qm )cm = ( q1 , f ); (3.6) i=0 1 0 o .......... .......... n ( qm , q0 )co + ( qm , q1 )c1 + ... + ( qm , qm )cm = ( qm , f ). i = 0 Если сеточные функции qj(xi) образуют систему линейно независимых элементов, то полученная линейная алгебраическая система имеет заведомо отличный от нуля определитель (определитель Грама) и, следовательно, однозначно разрешима. Таким образом, при заданном базисе {q j (x )} путем решения системы (3.6)
∑
∑
∑
можно найти единственный обобщенный многочлен Qm* ( x ) = c0*q0 ( x ) + c1*q1 ( x ) + ... + cm* qm ( x ) , имеющий на отрезке [a,b] наименьшее отклонение от функции f(x) в смысле метода наименьших квадратов. ПОДГОТОВКА К РАБОТЕ 1. Изучить описание лабораторной работы. 2. Написать программу для расчета коэффициентов обобщенного полинома Qm(x), аппроксимирующего функцию f(x), заданную на множестве точек. В качестве базисных функций использовать
{ }
систему алгебраических многочленов x j
m j =0 .
Входные параметры программы: степень аппроксимирующего полинома; набор точек xi и значений функции yi в них. Выходные параметры программы: набор оптимальных коэффициентов обобщенного многочлена c0* , c1* ,..., cm* ; 32
n
∑ (Q
yi )2 .
величина отклонения ρ (Qm , f ) =
таблица точек xi, значений функции yi и аппроксимирующего полинома Qm(xi).
m ( xi ) −
i =0
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ 1. Отладить программу расчета коэффициентов обобщенного многочлена. 2. Получить оптимальные коэффициенты для разных сочетаний входных данных (степени аппроксимирующего полинома, набора точек xi и значений функции yi в них). Метод решения СЛАУ необходимо взять из своего варианта. 3. Сделать выводы о результатах расчета при совпадении m и n, а также для случая, когда m>n. ОТЧЕТ О РАБОТЕ В отчет о работе необходимо включить: 1. Название и цель лабораторной работы. 2. Постановку задачи. 3. Исходные данные: степень аппроксимирующего полинома, набор точек xi и значений функции yi в них (один из рассмотренных в ходе выполнения лабораторной работы наборов входных параметров). 4. Результаты расчета оптимальных коэффициентов обобщенного полинома в этом случае. 5. Таблицу точек xi, значений функции yi и аппроксимирующего полинома Qm(xi), а также величина отклонения ρ (Qm , f ) . 6. Выводы о результатах расчета при совпадении m и n, а также для случая, когда m>n. КОНТРОЛЬНЫЕ ВОПРОСЫ 1. Сформулируйте постановку задачи аппроксимации функций. 2. Какая формула используется для оценки отклонения обобщенного полинома от заданной функции? 33
3. Дайте определения расстояния между двумя функциями в случае интегральной и точечной аппроксимации. 4. Запишите систему, которая используется для определения коэффициентов ci. Как рассчитываются вспомогательные значения s k и t k? 5. При каком условии задача точечной аппроксимации функций разрешима? 6. Какой вид имеют коэффициенты обобщенного полинома в случае использования ортонормированной системы функций? Пример варианта Степень аппроксимирующего полинома: m=3. Таблица приближенных значений функции: xi yi
1.12 10.01
1.15 10.05
Метод решения СЛАУ:
1.91 11.81
2.50 12.98
2.69 15.12
2.93 14.67
3.11 12.03
3.19 10.05
метод Гаусса.
СПИСОК РЕКОМЕНДОВАННОЙ ЛИТЕРАТУРЫ 1. Вержбицкий В.М. Основы численных методов. М.: Высшая школа, 2002. 2. Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. 3-е изд., перераб. и доп. М.: БИНОМ. Лаборатория знаний, 2003.
34
Работа 4 МЕТОДЫ ЧИСЛЕННОГО ДИФФЕРЕНЦИРОВАНИЯ ФУНКЦИЙ Ц е л ь : изучение и применение методов численного дифференцирования функций. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ Численное дифференцирование, т.е. нахождение значений производных заданной функции y=f(x) в заданных точках x, может быть актуально в следующих случаях: отсутствие аналитического вида f(x); возможное сильное усложнение функции при её аналитическом дифференцировании (что затрудняет нахождение её значений с высокой точностью); желание получить значения производных с помощью однотипных вычислительных процессов без привлечения аналитических выкладок. Источником формул численного дифференцирования служит полиномиальная интерполяция. Зная в точках xi=x0+ih (i=0,1,…,n) значения yi=f(xi), можно построить интерполяционный полином Pn(x), такой что f(x)≈Pn(x). Используя вспомогательную переменную q =
x − x0 , получаем следующие приближенные равенства: h q( q − 1) 2 ∆ y0 + ... + 2! q( q − 1) ⋅ ... ⋅ ( q − n + 1) n + ∆ y0 . n!
f ( x ) ≈ Pn ( x0 + qh ) = y0 + q∆y0 +
35
′ f ′( x ) ≈ q′x [Pn ( x0 + qh)] q = =
1 q( q − 1) 2 q( q − 1)( q − 2) 3 ′ ∆ y0 + ∆ y0 + ... = y0 + q∆y0 + h 2! 3! q =
1 q2 − q 2 q3 − 3q 2 + 2q 3 y0 + q∆y0 + ∆ y + ∆ y0 + 0 h 2 6 +
=
′ q4 − 6q3 + 11q2 − 6q 4 ∆ y0 + ... = 24 q
1 2q − 1 2 3q2 − 6q + 2 3 ∆y0 + ∆ y + ∆ y0 + 0 h 2 6
4 q3 − 18q2 + 22q − 6 4 ∆ y0 + ... . 24 В случае использования линейной, квадратичной и кубической интерполяции, получим следующие приближенные равенства: ∆y f ′( x ) ≈ 0 ; h 1 2q − 1 2 f ′( x ) ≈ ∆y 0 + ∆ y0 ; h 2 2 1 2q − 1 2 3q − 6 q + 2 3 f ′( x ) ≈ ∆y 0 + ∆ y0 + ∆ y 0 . h 2 6 Особый интерес представляют частные случаи формул, связывающие приближенное значение производной функции f(x) в узлах x0, x1, … с узловыми значениями самой функции. Точкам x0, x1, x2 соответствуют значения q=0, 1, 2, раскрыв конечные разности через значения yi можно получить: при n=1: y − y0 f ′( x0 ) ≈ y 0′ = 1 ; (4.1) h y − y0 f ′( x1 ) ≈ y1′ = 1 ; (4.2) h +
36
при n=2: 1 (4.3) (− 3 y0 + 4 y1 − y2 ) ; 2h 1 f ′( x1 ) ≈ y1′ = (4.4) ( y 2 − y0 ) ; 2h 1 f ′( x 2 ) ≈ y 2′ = (4.5) ( y0 − 4 y1 + 3 y 2 ) . 2h Повторное дифференцирование приближенного равенства приводит к конечно-разностной формуле вычисления второй производной: 1 1 f ′′( x ) ≈ 2 ∆2 y 0 + ( q − 1) ∆3 y 0 + (6q 2 − 18q + 11)∆4 y 0 + ... . 12 h Наиболее важной в приложениях является простейшая аппрок∆2 y симация второй производной вида f ′′( x ) ≈ 2 0 . В этом случае h для точки x1 будет иметь место приближенное равенство y − 2 y1 + y 2 , (4.6) f ′′( x1 ) ≈ y1′′ = 0 h2 которое широко используется в конечно-разностных методах решения краевых задач для обыкновенных дифференциальных уравнений второго порядка и для уравнений в частных производных. f ′( x0 ) ≈ y0′ =
Остаточные члены простейших формул численного дифференцирования Дифференцирование остаточного члена интерполяционной формулы Лагранжа является общим подходом к получению выражений для остаточных членов интерполяционных формул численного дифференцирования. Остаточный член интерполяционной формулы Лагранжа имеет вид f ( n +1) (ξ ) Rn ( x ) = f ( x ) − Ln ( x ) = Π n +1 ( x ) , ( n + 1)!
37
где Ln ( x) – интерполяционный многочлен Лагранжа степени n, построенный по n+1 узлу x0, x1,…, xn; ξ – некоторая точка интервала (x0, xn); Π n +1 ( x ) = ( x − x0 )( x − x1 ) ⋅ ... ⋅ ( x − xn ) . Отсюда Rn′ ( x) = f ′( x) − Ln′ ( x) = d 1 d ( n +1) f (ξ ) Π n +1 ( x) + f ( n +1) (ξ ) [Π n +1 ( x)]. (n + 1)! dx dx d ( n +1) Если величина f (ξ ) ограничена, то при подстановке в dx это выражение узловых значений x=xi (i=0,1,…,n) за счет Π n +1 ( xi ) = 0 получим более простую формулу остаточного члена в узлах интерполяции: f ( n +1) (ξi ) f ′( xi ) − Ln′ ( xi ) = Π ′n +1 ( xi ), ξi ∈ ( x0 , xn ) . ( n + 1)! В случае равноотстоящих узлов xi=x0+ih и Π ′n +1 ( xi ) = ( −1) n −i i!( n − i )! h n , получаем формулу i!( n − i )! n ( n +1) f ′( xi ) − yi′ = ( −1) n −i h f (ξ i ) . ( n + 1)! Отсюда при n=1, i=0 и i=1 можно получить остаточные члены формул (4.1) и (4.2): h h f ′( x0 ) − y 0′ = − f ′′(ξ 0 ) , f ′( x1 ) − y1′ = f ′′(ξ1 ) . 2 2 В случае n=2, i=0 и i=1 и i=2 для формул (4.3), (4.4) и (4.5) получаем: h2 f ′( x0 ) − y 0′ = f ′′′(ξ 0 ) , 3 h2 f ′( x1 ) − y1′ = f ′′′(ξ1 ) , 6 h2 f ′( x 2 ) − y 2′ = f ′′′(ξ 2 ) . 3 Точки ξ i в каждой из формул в общем случае отличаются. =
[
]
[
]
38
Для получения остаточных членов конечно-разностных формул вычисления второй производной используется следующее выражение: f ′′( x ) − Ln′′( x ) = f ( n +1) (ξ ) f ( n + 2 ) (ξ1 ) f ( n + 3) (ξ 2 ) Π′n′ +1 ( x ) + 2 Π′n +1 ( x ) + 2 Π n +1 ( x ). ( n + 1)! ( n + 2)! ( n + 3)! Откуда для формулы (4.6) h 2 IV f ′′( x1 ) − y1′′ = − f (ξ ) . 12 Для производной порядка k ∈ {0,1,..., n} может быть использовано следующее выражение: k k! f ( k ) ( x ) − L(nk ) ( x ) = f ( n + j +1) (ξ j )Π (nk+−1 j ) ( x ) . ( k − j )! ( n + j + 1 )! j =0 =
∑
Оптимизация шага численного дифференцирования при ограниченной точности значений функции Часто в реальных задачах значения функции f(x) в точках xi известны только приближенно. Предположим, что уровень абсолютных погрешностей значений функции в разных узлах примерно одинаков и ограничен числом ∆>0. В этом случае f ( xi ) ∈ ( y i − ∆ , y i + ∆ ) . Рассмотрим влияние неточностей вычисления значений функции на результаты аппроксимации производных. Для примера возьмем простейшую формулу аппроксимации первой производной в узле xi: f ( xi +1 ) − f ( xi ) h f ′( xi ) = − f ′′(ξ ) . h 2 При вычитании приближенных чисел их абсолютные погрешности складываются, поэтому замена точного разностного отношения f ( xi +1 ) − f ( xi ) приближенным даст ошибку, которую можно оцеh
39
нить по модулю как
2∆ . Погрешность аппроксимации можно оцеh
M2 h , где M 2 = max f ′′( x ) . Приходим к неравенству x∈[ x i , xi +1 ] 2 y − yi 2∆ M 2 f ′( xi ) − i +1 ≤ + h, h h 2 т.е. полная абсолютная погрешность приближенного равенства y − yi 2∆ M 2 f ′( xi ) ≈ i +1 + оценивается величиной g ( h ) = h , в коh h 2 торую входит вычислительная погрешность, порождаемая неточными значениями функции, и погрешность аппроксимации, связанная с выбором формулы численного дифференцирования. Свести полную погрешность к нулю при отличном от нуля ∆ не представляется возможным, но можно найти такой шаг hопт, при котором эта величина минимальна. Исходя из полученного выражения для полной абсолютной погрешности, величина оптималь∆ ного шага есть hопт = 2 , в этом случае g мин = g (hопт ) . M2
нить как
ПОДГОТОВКА К РАБОТЕ 1. Изучить теорию, необходимую для выполнения лабораторной работы. 2. Вывести аналитическую зависимость полной абсолютной погрешности аппроксимации первой производной от шага h. 3. Написать программу для расчета значения первой производной функции в некоторой точке. Входные параметры программы: точка расчета производной; уровень абсолютных погрешностей значений функции ∆. Выходные параметры программы: значение оптимального шага hопт; значение первой производной в точке; величина минимальной полной абсолютной погрешности g мин . 40
4. Написать программу для расчета значения второй производной функции в некоторой точке. Для расчетов использовать формулу (4.6), принять, что абсолютная погрешность значений функции ∆ равна нулю. Входные параметры программы: точка расчета производной; точность расчета ε. Выходные параметры программы: значение шага разностной схемы h; значение второй производной в точке; оценка погрешности расчета второй производной (модуль разности точного и полученного значений). ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ 1. Отладить программу расчета первой производной функции в точке с помощью разностных схем. 2. Провести расчеты hопт, значения первой производной в точке, величины минимальной полной абсолютной погрешности g мин . 3. Отладить программу расчета второй производной функции в точке с помощью разностных схем. 4. Провести расчеты шага разностной схемы h, значения второй производной в точке, оценки погрешности расчета второй производной. ОТЧЕТ О РАБОТЕ В отчет о работе необходимо включить: 1. Название и цель лабораторной работы. 2. Постановку задачи. 3. Исходные данные: вид функции f(x), точку расчета значений первой и второй производной, формулы аппроксимации значений первой и второй производной, уровень абсолютных погрешностей значений функции ∆, точность расчета ε для второй производной. 4. Аналитическую зависимость полной абсолютной погрешности аппроксимации первой производной от шага h, формулы расчета hопт, g мин , график зависимости g (h) . 41
5. Выходные результаты программы для расчета значения первой производной функции. 6. Выходные результаты программы для расчета значения второй производной функции. 7. Выводы о результатах расчетов. КОНТРОЛЬНЫЕ ВОПРОСЫ 1. Сформулируйте постановку задачи численного дифференцирования функций. В чем состоит актуальность применения численных методов? 2. Выведите частные формулы аппроксимации первой производной на равноотстоящих узлах, основываясь на линейной интерполяции функции. 3. Выведите частные формулы аппроксимации первой производной на равноотстоящих узлах, основываясь на интерполяции функции полиномом второй степени. 4. Выведите остаточные члены формул (4.1) и (4.2). Какой порядок точности относительно шага h они имеют? 5. Выведите остаточные члены формул (4.3)-(4.5). Какой порядок точности относительно шага h они имеют? 6. Выведите остаточный член формулы (4.6). Какой порядок точности относительно шага h она имеет? 7. Как можно оценить шаг формул численного дифференцирования для достижения требуемой точности? Существует ли оптимальный шаг? Пример варианта Функция f(x):
1
. 1 + x2 Точка расчета: x=0. Формула аппроксимации значений первой производной: (4.3). Уровень абсолютных погрешностей значений функции: ∆=3⋅10-6. Точность расчета: ε=4⋅10-4. 42
СПИСОК РЕКОМЕНДОВАННОЙ ЛИТЕРАТУРЫ 1. Вержбицкий В.М. Основы численных методов. М.: Высшая школа, 2002. 2. Волков Е.А. Численные методы. М.: Наука, 1982.
43
Работа 5 МЕТОДЫ РЕШЕНИЯ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ Ц е л ь : изучение и применение методов численного решения задачи Коши для обыкновенных дифференциальных уравнений первого порядка. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ Будем рассматривать обыкновенное дифференциальное уравнение (ОДУ) первого порядка y ′ = f ( x, y ), x ∈ [x 0 , b] (5.1) с начальным условием y ( x0 ) = y 0 , (5.2) где f(x, y) – некоторая заданная, в общем случае нелинейная функция двух переменных. Будем считать, что для данной задачи (5.1)(5.2), называемой задачей Коши, выполняются требования, обеспечивающие существование и единственность на отрезке [x0, b] её решения y=y(x). Будем рассматривать решение этой задачи в виде числовой таблицы приближенных значений yi искомого решения y(x) на некоторой сетке xi ∈ [x0 , b] значений аргумента x. Если речь идет о нахождении только значения y(b), тогда точка b включается как конечная в систему расчетных точек xi и все приближенные значения yi ≈ y ( xi ) , кроме последнего, участвуют лишь как промежуточные, т.е. не требуют ни запоминания, ни обработки. Если же нужно иметь приближенное решение у(х) в любой точке х, то для этого к получаемой числовой таблице значений yi можно применить какой-либо из способов аппроксимации табличных функций, например, полиномиальную интерполяцию или сплайнинтерполяцию. Возможны и другие использования численных данных о решении. Метод Эйлера решения задачи Коши Метод Эйлера является наиболее простым методом решения задачи Коши. Покажем получение формулы расчета и оценки по44
грешности на основании разложения в ряд Тейлора. Согласно ей y(x) в окрестности точки х0 можно записать как y ′′(ξ ) y ( x ) = y ( x0 ) + y ′( x0 )( x − x 0 ) + ( x − x0 )2 . 2 Отсюда при х=х1 получаем: y ′′(ξ1 ) 2 y ( x1 ) = y 0 + hf ( x0 , y 0 ) + h , 2 где y0=y(x0) – начальное условие задачи Коши, h=x1–x0 – шаг сетки, f(x0,y0)=y´(x0) – значение производной y´(x) в точке x0, ξ1 – некоторая точка интервала (x0, x1). Это равенство можно переписать в виде y ( x1 ) = y1 + r1 ( h) , где y1 = y 0 + hf ( x0 , y 0 ) – формула метода Эйлера, (5.3) y ′′(ξ1 ) 2 r1 ( h) = h – остаточный член формулы, который харак2 теризует локальную (или шаговую) ошибку метода Эйлера, т.е. ошибку, совершаемую на одном шаге. При многократном применении формулы (5.3) возможно наложение ошибок, поэтому глобальная ошибка, которая образуется в точке b, будет иметь порядок (относительно шага h) на единицу ниже, чем порядок локальной ошибки, т.е. O(h). В общем виде формула метода Эйлера имеет вид y i +1 = y i + hf ( xi , y i ) . (5.4) Семейство методов Рунге–Кутта второго порядка Идея построения явных методов Рунге–Кутта заключается в получении приближений к значениям f(xi+1) по формуле вида (5.5) yi +1 = yi + hϕ ( xi , yi , h) . В качестве функции ϕ ( x, y , h ) берут многопараметрическую функцию и подбирают её параметры сравнением выражения (5.5) с многочленом Тейлора для y(x) соответствующей степени. Для методов второго порядка функция ϕ ( x, y , h ) будет иметь вид 45
ϕ ( x , y , h ) = (1 − α ) f ( x, y ) + αf x +
h h ,y+ f ( x, y ) , 2α 2α
где 0 < α ≤ 1 – параметр. С учетом этого получаем из (5.5) вид однопараметрического семестра методов Рунге–Кутта второго порядка: h h yi +1 = yi + h (1 − α ) f ( xi , y i ) + αf xi + , yi + f ( xi , yi ) . (5.6) 2α 2α 1 Отсюда при α = можно получить формулу, определяющую 2 метод Хойна: h yi +1 = yi + [ f ( xi , yi ) + f ( xi + h, yi + hf ( xi , yi ) )] . (5.7) 2 А при α = 1 – метод средней точки: h h yi +1 = yi + hf xi + , y i + f ( xi , yi ) . (5.8) 2 2 Оба эти метода имеет глобальную погрешность порядка O(h2). Метод Рунге–Кутта четвертого порядка Данный метод является наиболее употребительным частным случаем семейства методов Рунге–Кутта. Его можно отнести к четырехэтапным, за счет следующей структуры расчетов нового приближения yi+1: η1i = f ( xi , y i ); η i = f x + h , y + h η i ; i i 1 2 2 2 h h i η3 = f xi + , y i + η 2i ; (5.9) 2 2 i i η 4 = f xi + h, y i + hη3 ; h ∆yi = η1i + 2η 2i + 2η3i + η4i ; 6 yi +1 = yi + ∆yi . Данный метод имеет глобальную погрешность порядка O(h4).
(
)
(
)
46
Многошаговые методы Адамса Для построения формул многошаговых методов Адамса предположим, что уже найдено несколько приближенных значений y j ≈ y ( x j ) (j=0,1,…,i) решения y=y(x) задачи (5.1)-(5.2) на равномерной сетке xj=x0+jh, и нужно получить правило для вычисления очередного значения yi +1 ≈ y ( x i +1 ) . Проинтегрировав левую и правую части уравнения (5.1) по промежутку [xi, xi+1], получим xi +1
y ( xi +1 ) = y ( xi ) +
∫ f ( x, y( x))dx .
xi
Подставим под интеграл вместо функции f(x, y(x)) интерполирующий её многочлен Pk(x). Для этого используем известные дискретные приближенные значения f ( x j , y j ) ≈ f ( x j , y ( x j )) , которые обозначим через fj (j=0,1,…,i). Рассмотрим два случая построения Pk(x): 1. Интерполирование назад из узла хi по второй интерполяционной формуле Ньютона. В этом случае q(q + 1) 2 Pk ( x) = Pk ( xi + qh) = fi + q∆fi −1 + ∆ f i − 2 + ... + 2! q(q + 1) ⋅ ... ⋅ (q + k − 1) k + ∆ fi − k , k! x − xi где q = . h После подстановки этого выражения под знак интеграла, получим: xi +1
yi +1 = yi +
1
∫
Pk ( x)dx = yi + h Pk ( xi + qh)dq =
xi
∫ 0
1 5 3 251 4 = yi + h f i + ∆fi −1 + ∆2 f i − 2 + ∆3 f i − 3 + ∆ fi − 4 + .... 2 12 8 720 Интересен вид этих формул для случаев k=0,1,2: при k=0 yi +1 = yi + f ( xi , yi ) ; (5.10)
47
при k=1 yi +1 = yi +
h [3 f ( xi , yi ) − f ( xi −1 , yi −1 )] ; 2
(5.11)
при k=2
h [23 f ( xi , yi ) − 16 f ( xi −1 , yi −1 ) + 5 f ( xi − 2 , yi − 2 )]. 12 (5.12) Эти формулы определяют, соответственно, метод Адамса– Башфорта первого, второго и третьего порядков. 2. Интерполирование назад из узла хi+1 по второй интерполяционной формуле Ньютона. В этом случае q (q + 1) 2 ~ ~ Pk ( x) = Pk ( xi +1 + qh) = fi +1 + q∆fi + ∆ fi −1 + ... + 2! q(q + 1) ⋅ ... ⋅ ( q + k − 1) k + ∆ fi − k +1 , k! x − xi где q = . h После подстановки этого выражения под знак интеграла, получим: yi +1 = yi +
xi +1
yi +1 = yi +
∫
xi
0
~ ~ Pk ( x)dx = yi + h Pk ( xi +1 + qh)dq =
∫
−1
1 1 1 19 4 = yi + h f i +1 − ∆f i − ∆2 f i −1 − ∆3 f i − 2 − ∆ fi − 3 + ... . 2 12 24 720 Аналогично рассмотрим несколько частных случаев для k=0,1,2: при k=0 yi +1 = yi + f ( xi +1 , yi +1 ) ; (5.13) при k=1 h yi +1 = yi + [ f ( xi +1 , y i +1 ) + f ( xi , yi )] ; (5.14) 2 при k=2 h yi +1 = yi + [5 f ( xi +1 , yi +1 ) + 8 f ( xi , yi ) − f ( xi −1 , yi −1 )] . 12 (5.15) 48
Эти формулы определяют, соответственно, метод Адамса– Моултона первого, второго и третьего порядков. Важным отличием методов Адамса–Башфорта от методов Адамса–Моултона является то, что первые из них являются явными, а вторые – неявными, в них значение yi+1 определяется через значение f(xi+1,yi+1). Поэтому наиболее часто встречается использование неявных методов совместно с явными одинакового или смежного порядка. Такой подход получил название методов прогноза и коррекции. В этих методах значение yi+1 рассчитывается на каждом шаге в два этапа: на первом применяется явная формула и получается прогнозное значение yiпрогноз , а на втором этапе это значение уточняет+1 ся с помощью неявного метода. Можно записать следующие методы прогноза и коррекции первого, второго и третьего порядков: y прогноз = yi + f ( xi , yi ); i +1 прогноз ); yi +1 = yi + f ( xi +1 , y i+1 h прогноз = yi + [3 f ( xi , yi ) − f ( xi −1 , yi −1 )] ; y i+1 2 y = y + h f ( x , y прогноз ) + f ( x , y ) ; i i +1 i i i +1 i +1 2 h прогноз = yi + [23 f ( xi , yi ) − 16 f ( xi −1 , yi −1 ) + 5 f ( xi − 2 , yi − 2 )] ; y i+1 12 y = y + h 5 f ( x , y прогноз ) + 8 f ( x , y ) − f ( x , y ) . i i +1 i i i −1 i −1 i +1 i +1 12 Преимуществом многошаговых методов перед одношаговыми является более простая процедура расчета нового приближения yi+1, для чего зачастую достаточно рассчитать всего одно новое значение функции f(x, y) и использовать значения, рассчитанные на предыдущих шагах. Как недостаток – необходимость иметь несколько рассчитанных приближений на начала расчетов. Этот недостаток можно компенсировать использованием на этапе старта многошагового метода одного из одношаговых. При этом рекомендуется выбирать одношаговый метод того же или более высокого
[
]
[
]
49
порядка точности, что и многошаговый, для обеспечения необходимой точности решения. Контроль точности решения задачи Коши Выведение надежных и в то же время простых и эффективных оценок погрешности, гарантирующих получение таблицы значений решения у=у(х) заданной точности, является делом малоперспективным, особенно для методов более-менее высоких порядков. Поэтому главным способом отслеживания точности при реализации численных процессов решения задачи Коши остается применение различных полуэмпирических правил, основанных на принципе Рунге. Будем считать, что при использовании метода р-го порядка абсолютная шаговая погрешность должна находиться в пределах ε > 0 . Тогда, согласно принципу Рунге, осуществляется счет по системе узлов xi(h)=x0+ih с шагом h и по системе узлов h h h x j = x0 + j с шагом . При четных j вторая система будет 2 2 2 h совпадать с первой, т.е. xi (h ) = x 2i . Переход от расчетной точки 2 xi, с приближенным значением решения в ней yi, к расчетной точке xi+1 один раз совершается за один шаг длины h и приводит к значению yi +1 ( h ) ≈ y ( xi +1 ( h)) , другой раз совершается за два шага длины h 2
(через
точку
xi +
h h = x2i +1 2 2
со
значением
h h y 2i +1 ≈ y xi + ) и дает значение 2 2 h h y 2i + 2 ≈ y x 2i + 2 = y ( xi +1 ( h )) . 2 2 Оценка погрешности в таком случае будет составлять величину h y 2i + 2 − yi +1 (h ) h 2 Ri = . 2p −1 2
50
h Если выполняется условие Ri ≤ ε , то можно считать, что 2 h ошибка приближенного равенства y ( xi +1 ) ≈ y 2i + 2 не превосхо2 h дит ε . Если же Ri > ε , то следует уменьшить расчетный шаг 2 h h. При условии Ri << ε стоит попытаться двигаться дальше с 2 более крупным шагом (например, удвоить h).
ПОДГОТОВКА К РАБОТЕ 1. Изучить теорию, необходимую для выполнения лабораторной работы. 2. Написать программу численного решения задачи Коши для ОДУ первого порядка. Входные параметры программы: начальное условие ОДУ; отрезок значений x решения ОДУ; начальный шаг; точность ε. Выходные данные программы: приближенное значение решения уравнения в конце отрезка; величина шага; оценка погрешности. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ 1.
Отладить программу численного решения ОДУ.
51
2. При оценке погрешности необходимо использовать двойной пересчет согласно принципу Рунге. В качестве оценки погрешности использовать h y 2i + 2 − y i +1 (h ) 2 max . [ x 0 ,b ] 2 p −1 3. При использовании многошаговых методов Адамса на этапе старта выбирать одношаговый метод того же или более высокого порядка точности, что и многошаговый. ОТЧЕТ О РАБОТЕ В отчет о работе необходимо включить: 1. Название и цель лабораторной работы. 2. Постановку задачи. 3. Исходные данные: вид задачи Коши, начальное условие и отрезок решения, выбранные преподавателем, начальный шаг и требуемую точность. 4. Выходные результаты программы решения задачи Коши. 5. Таблицу численных значений решения задачи Коши с шагом, при котором выполняется условие max Ri ≤ ε ( hε ) и удвоен[ x 0 ,b ]
ным шагом в пяти равномерно распределенных точках отрезка, включая его концы, а также модуль разности этих значений: xi y hε ( xi ) y 2 hε ( xi ) yhε ( xi ) − y2 hε ( xi ) x0 … … … b
6. Выводы о результатах расчетов в таблице п. 5 и величины итоговой оценки погрешности.
52
КОНТРОЛЬНЫЕ ВОПРОСЫ 1. Сформулируйте постановку задачи решения ОДУ с начальными условиями. Какие классы методов решения этой задачи существуют? 2. Приведите формулу Эйлера численного решения задачи Коши. Дайте геометрическую интерпретацию. Как можно оценить локальную ошибку дискретизации метода? Какой порядок точности имеет метод Эйлера? 3. Метод Хойна. Формулы расчета, геометрическая интерпретация, порядок точности метода. 4. Метод средней точки. Формулы расчета, геометрическая интерпретация, порядок точности метода. 5. Приведите формулу семейства методов Рунге–Кутта второго порядка. Как из неё получить формулы метода Хойна и метода средней точки? 6. Формула Рунге–Кутта 4-го порядка. Апостериорный контроль точности. 7. Идея многошаговых методов Адамса. Как выглядят два интерполирующих полинома, заменяющих функцию f(x, y)? 8. Приведите формулы Адамса–Башфорта первого, второго и третьего порядков. 9. Приведите формулы методов прогноза и коррекции первого, второго и третьего порядков. Пример варианта ОДУ первого порядка: Метод решения:
3x 2 y . 2 метод Рунге–Кутта 4-го порядка. y′ =
СПИСОК РЕКОМЕНДОВАННОЙ ЛИТЕРАТУРЫ 1. Вержбицкий В.М. Основы численных методов. М.: Высшая школа, 2002. 2. Волков Е.А. Численные методы. М. : Наука, 1982.
53
ПРИЛОЖЕНИЕ
Варианты заданий к работе 1 Вариант 1.1 Размерность матрицы: Матрица А: 1.32 -0.69 -0.69 9.62 0.35 -0.14 0.50 0.23 -0.32 0.27 Величина Методы: Вариант 1.2 Размерность матрицы: Матрица А: 8.98 0.83 0.83 -7.31 0.58 0.80 -0.20 0.96 0.96 -0.57 -0.13 0.01 Величина Методы:
n=5. 0.35 0.50 -0.32 -0.14 0.23 0.27 6.66 -0.49 0.03 -0.49 -2.99 0.04 0.03 0.04 2.53 ε=1·10-4. квадратного корня, Якоби.
n=6. 0.58 -0.20 0.96 -0.13 0.80 0.96 -0.57 0.01 -9.96 -0.39 -0.73 -0.01 -0.39 1.34 -0.89 -0.81 -0.73 -0.89 -4.71 0.94 -0.01 -0.81 0.94 -1.50 ε=2·10-4. 1-й метод ортогонализации, Зейделя.
54
Вариант 1.3 Размерность матрицы: Матрица А: -4.60 0.35 0.87 1.96 -0.56 -0.22 -0.62 0.87 -0.44 0.65 Величина Методы: Вариант 1.4 Размерность матрицы: Матрица А: -3.82 0.62 0.65 -2.22 0.37 -0.04 0.06 0.21 -0.64 0.30 0.79 0.53 Величина Методы: Вариант 1.5 Размерность матрицы: Матрица А: 5.50 0.27 0.27 -5.34 -0.58 -0.60 -0.72 -0.18 0.70 -0.49 Величина Методы:
n=5. -0.90 -0.44 -0.53 0.66 -0.42 -0.20 -2.24 -0.14 -0.82 -0.11 4.03 0.77 -0.98 -0.98 -1.27 ε=2·10-4. 2-й метод ортогонализации, Зейделя.
n=6. -0.10 -0.59 -0.31 0.29 0.83 -0.16 -4.39 0.17 -0.76 -0.11 3.87 0.04 -0.50 0.71 9.43 -0.70 -0.03 -0.34 ε=3·10-4. Гаусса, Якоби.
-0.32 0.60 -0.68 -0.68 -0.67 8.29
n=5. -0.58 -0.72 0.70 -0.60 -0.18 -0.49 9.55 0.56 -0.21 0.56 -6.74 0.37 -0.21 0.37 7.42 ε=1·10-4. квадратного корня, Якоби.
55
Вариант 1.6 Размерность матрицы: Матрица А: 7.48 -0.31 -0.31 -5.81 -0.96 0.99 -0.67 0.55 0.88 -0.43 0.62 -0.36 Величина Методы: Вариант 1.7 Размерность матрицы: Матрица А: 4.12 0.05 -0.70 2.99 0.41 -0.53 -0.85 -0.72 -0.89 -0.52 Величина Методы: Вариант 1.8 Размерность матрицы: Матрица А: -9.63 -0.61 -0.68 3.60 0.07 0.84 -0.14 -0.91 -0.19 0.76 0.66 -0.16 Величина Методы:
n=6. -0.96 -0.67 0.88 0.62 0.99 0.55 -0.43 -0.36 -8.00 0.12 0.53 -0.30 0.12 3.30 -0.70 -0.49 0.53 -0.70 2.39 0.84 -0.30 -0.49 0.84 4.07 ε=2·10-4. 1-й метод ортогонализации, Зейделя.
n=5. 0.75 0.89 -0.27 0.72 0.77 0.36 3.03 0.08 -0.61 0.75 6.26 -0.61 0.93 -0.51 1.01 ε=2·10-4. 2-й метод ортогонализации, Зейделя.
n=6. -0.09 -0.24 -0.72 0.23 0.31 -0.10 4.85 -0.94 -0.18 0.99 2.23 0.82 0.86 0.05 -1.98 -0.96 0.25 -0.62 ε=3·10-4. Гаусса, Якоби.
56
0.63 -0.15 -0.23 0.43 0.21 -8.36
Вариант 1.9 Размерность матрицы: Матрица А: -7.39 -0.03 -0.03 -9.99 0.66 -0.80 -0.36 0.92 -0.71 -0.45 Величина Методы: Вариант 1.10 Размерность матрицы: Матрица А: -9.21 -0.20 -0.20 5.35 -0.82 0.97 0.99 -0.95 0.26 -0.61 0.12 0.78 Величина Методы: Вариант 1.11 Размерность матрицы: Матрица А: 6.10 -0.59 0.40 -8.11 -1.00 -0.92 -0.43 -0.21 -0.66 -0.53 Величина Методы:
n=5. 0.66 -0.36 -0.71 -0.80 0.92 -0.45 -2.52 0.33 0.55 0.33 -8.27 0.42 0.55 0.42 2.06 ε=1·10-4. квадратного корня, Якоби.
n=6. -0.82 0.99 0.26 0.12 0.97 -0.95 -0.61 0.78 8.43 -0.48 -0.07 0.80 -0.48 -3.46 -0.47 0.40 -0.07 -0.47 -9.93 -0.53 0.80 0.40 -0.53 0.59 ε=2·10-4. 1-й метод ортогонализации, Зейделя.
n=5. -0.77 0.96 -0.42 -0.13 0.91 0.44 -4.36 0.97 -0.79 0.71 6.38 0.87 -0.93 -0.91 -0.82 ε=2·10-4. 2-й метод ортогонализации, Зейделя.
57
Вариант 1.12 Размерность матрицы: Матрица А: 9.74 0.20 -0.17 -5.37 0.62 0.66 -0.90 -0.86 0.23 -0.53 -0.19 -0.03 Величина Методы: Вариант 1.13 Размерность матрицы: Матрица А: -1.65 -0.26 -0.26 1.14 -0.19 -0.35 -0.42 0.93 0.53 -0.12 Величина Методы: Вариант 1.14 Размерность матрицы: Матрица А: 5.75 0.41 0.41 9.95 -0.14 -0.34 0.41 -0.72 -0.57 -0.23 -0.89 -0.32 Величина Методы:
n=6. 0.90 0.54 -0.33 -0.86 -0.56 -0.35 -1.12 0.60 0.12 -0.58 -9.23 0.46 0.62 0.46 -3.91 0.01 0.91 0.64 ε=3·10-4. Гаусса, Якоби.
0.62 -0.03 -0.14 -0.72 0.15 -5.94
n=5. -0.19 -0.42 0.53 -0.35 0.93 -0.12 -2.10 -0.19 -0.81 -0.19 -5.80 -0.99 -0.81 -0.99 -5.73 ε=1·10-4. квадратного корня, Якоби.
n=6. -0.14 0.41 -0.57 -0.89 -0.34 -0.72 -0.23 -0.32 5.71 -0.35 0.87 -0.52 -0.35 5.78 0.97 0.07 0.87 0.97 5.02 0.35 -0.52 0.07 0.35 -5.60 ε=2·10-4. 1-й метод ортогонализации, Зейделя.
58
Вариант 1.15 Размерность матрицы: Матрица А: 3.26 0.27 -0.76 5.39 0.71 0.09 -0.66 -0.18 0.23 -0.58 Величина Методы: Вариант 1.16 Размерность матрицы: Матрица А: 1.17 -0.90 0.21 -7.72 -0.10 -0.38 -0.94 0.42 0.98 -0.75 -0.92 0.02 Величина Методы: Вариант 1.17 Размерность матрицы: Матрица А: 4.54 -0.67 -0.67 7.30 -0.66 -0.81 0.08 0.90 -0.36 -0.09 Величина Методы:
n=5. 0.26 0.64 0.83 0.66 -0.62 -0.54 5.25 -0.61 -0.31 0.53 -5.77 0.40 0.40 0.53 -9.66 ε=2·10-4. 2-й метод ортогонализации, Зейделя.
n=6. -0.81 0.79 0.78 0.39 0.93 -0.36 -4.50 -0.61 -0.10 -0.08 -6.92 -0.10 0.29 -0.56 1.78 -0.93 0.11 0.43 ε=3·10-4. Гаусса, Якоби.
0.43 -0.49 -0.77 -0.78 -0.77 -2.98
n=5. -0.66 0.08 -0.36 -0.81 0.90 -0.09 5.12 0.98 0.43 0.98 -9.09 0.87 0.43 0.87 1.01 ε=1·10-4. квадратного корня, Якоби.
59
Вариант 1.18 Размерность матрицы: Матрица А: 2.46 0.87 0.87 -5.19 -0.12 0.97 -0.80 -0.12 0.40 -0.88 0.73 -0.22 Величина Методы: Вариант 1.19 Размерность матрицы: Матрица А: -6.06 -0.18 0.15 2.28 0.93 -0.48 0.35 0.68 -0.96 -0.42 Величина Методы: Вариант 1.20 Размерность матрицы: Матрица А: -5.90 0.16 -0.04 -9.58 -0.24 -0.99 -0.15 0.11 -0.01 -0.78 -0.82 0.40 Величина Методы:
n=6. -0.12 -0.80 0.40 0.73 0.97 -0.12 -0.88 -0.22 5.66 -0.38 -0.40 -0.11 -0.38 5.75 -0.90 -0.16 -0.40 -0.90 8.17 0.96 -0.11 -0.16 0.96 2.03 ε=2·10-4. 1-й метод ортогонализации, Зейделя.
n=5. -0.55 0.01 0 -0.55 0.21 0.68 -4.34 0.32 0.84 0.66 1.73 0.21 0.11 0.84 7.11 ε=2·10-4. 2-й метод ортогонализации, Зейделя.
n=6. 0.50 0.72 -0.53 -0.50 -0.78 0.51 -5.02 -0.21 -0.54 0.93 7.07 -0.08 -0.30 0.48 -9.29 -0.05 0.52 0.05 ε=3·10-4. Гаусса, Якоби.
60
-0.20 0.80 -0.66 -0.95 0.18 1.40
Вариант 1.21 Размерность матрицы: Матрица А: 1.65 0.75 0.75 9.77 0.32 0.04 -0.31 -0.39 0.70 0.46 Величина Методы: Вариант 1.22 Размерность матрицы: Матрица А: 7.84 -0.04 -0.04 -9.76 -0.32 -0.20 -0.59 -0.41 -0.41 0.75 -0.13 -0.38 Величина Методы: Вариант 1.23 Размерность матрицы: Матрица А: 2.22 0.53 -0.66 -8.66 -0.70 -0.52 0.37 -0.29 -0.56 0.22 Величина Методы:
n=5. 0.32 -0.31 0.70 0.04 -0.39 0.46 9.66 0.80 0.29 0.80 -7.87 -0.46 0.29 -0.46 4.56 ε=1·10-4. квадратного корня, Якоби.
n=6. -0.32 -0.59 -0.41 -0.13 -0.20 -0.41 0.75 -0.38 0.78 -0.49 0.51 0.81 -0.49 -3.75 -0.35 0.39 0.51 -0.35 -4.84 0.51 0.81 0.39 0.51 -4.67 ε=2·10-4. 1-й метод ортогонализации, Зейделя.
n=5. -0.17 0.75 0.56 0.23 -0.48 -0.05 -1.36 -0.94 0.69 -0.17 2.87 -0.51 0.43 0.65 -2.60 ε=2·10-4. 2-й метод ортогонализации, Зейделя.
61
Вариант 1.24 Размерность матрицы: Матрица А: 9.29 0.52 -0.06 3.51 0.07 -0.35 -0.89 0.97 0.24 0.02 0.33 0.63 Величина Методы: Вариант 1.25 Размерность матрицы: Матрица А: 9.46 0.36 0.36 0.18 -0.82 -0.09 -0.07 -0.02 -0.11 0.52 Величина Методы:
n=6. -0.21 -0.29 -0.40 -0.04 0.28 -0.50 4.46 0.29 -0.90 0.16 -8.96 0.11 -0.56 0.99 2.78 -0.55 -0.22 -0.57 ε=3·10-4. Гаусса, Якоби.
n=5. -0.82 -0.07 -0.11 -0.09 -0.02 0.52 5.32 0.46 0.38 0.46 8.26 0.20 0.38 0.20 -7.55 ε=1·10-4. квадратного корня, Якоби.
Варианты заданий к работе 2 Вариант 2.1 Размерность матрицы: Матрица А: -5.82 -6.05 -6.05 16.79 10.74 -12.23 5.00 -16.19 Величина
-0.55 -0.87 0.09 -0.30 -0.88 2.94
n=4. 10.74 5.00 -12.23 -16.19 -19.84 18.22 18.22 -4.53 ε=1·10-4.
62
Вариант 2.2 Размерность матрицы: Матрица А: -16.63 -5.44 -5.44 -15.61 -15.99 4.17 -5.89 13.45 Величина Вариант 2.3 Размерность матрицы: Матрица А: -5.93 18.10 18.10 17.10 -4.37 -14.62 5.61 -1.01 Величина Вариант 2.4 Размерность матрицы: Матрица А: 6.52 16.85 16.85 6.05 16.79 13.63 0.23 8.50 Величина Вариант 2.5 Размерность матрицы: Матрица А: 10.59 -3.50 -3.50 -8.40 -10.93 -1.49 1.42 -12.28 Величина
n=4. -15.99 -5.89 4.17 13.45 -5.21 9.17 9.17 -15.50 ε=2·10-4.
n=4. -4.37 5.61 -14.62 -1.01 -14.02 -9.54 -9.54 19.52 ε=3·10-4.
n=4. 16.79 0.23 13.63 8.50 -12.75 3.60 3.60 -7.33 ε=1·10-4.
n=4. -10.93 1.42 -1.49 -12.28 16.84 -1.86 -1.86 4.91 ε=2·10-4. 63
Вариант 2.6 Размерность матрицы: Матрица А: 5.89 14.84 14.84 -12.69 4.66 19.85 11.86 12.79 Величина Вариант 2.7 Размерность матрицы: Матрица А: -14.79 13.52 13.52 8.54 16.35 -5.96 14.44 -8.22 Величина Вариант 2.8 Размерность матрицы: Матрица А: 13.26 -14.81 -14.81 -1.34 -9.67 -13.50 3.07 -6.80 Величина Вариант 2.9 Размерность матрицы: Матрица А: 13.62 -17.96 -17.96 2.54 -12.03 -15.16 19.20 3.15 Величина
n=4. 4.66 11.86 19.85 12.79 16.99 -3.01 -3.01 -8.07 ε=3·10-4.
n=4. 16.35 14.44 -5.96 -8.22 0.85 -1.21 -1.21 -14.94 ε=1·10-4.
n=4. -9.67 3.07 -13.50 -6.80 8.86 10.83 10.83 9.54 ε=2·10-4.
n=4. -12.03 19.20 -15.16 3.15 -3.95 -19.43 -19.43 7.37 ε=3·10-4. 64
Вариант 2.10 Размерность матрицы: Матрица А: 12.70 15.02 15.02 -12.04 -7.52 -16.58 10.02 9.99 Величина Вариант 2.11 Размерность матрицы: Матрица А: -5.14 -4.86 -4.86 2.22 4.55 19.42 -6.82 18.15 Величина Вариант 2.12 Размерность матрицы: Матрица А: -14.12 6.98 6.98 -12.39 12.87 -4.10 -13.50 19.04 Величина Вариант 2.13 Размерность матрицы: Матрица А: -15.30 -15.03 -15.03 -13.58 -5.91 -15.54 10.08 -15.58 Величина
n=4. -7.52 10.02 -16.58 9.99 -6.92 -11.87 -11.87 10.85 ε=1·10-4.
n=4. 4.55 -6.82 19.42 18.15 -2.81 2.93 2.93 -4.08 ε=2·10-4.
n=4. 12.87 -13.50 -4.10 19.04 -11.39 -0.68 -0.68 18.10 ε=3·10-4.
n=4. -5.91 10.08 -15.54 -15.58 -15.22 18.16 18.16 -2.74 ε=1·10-4. 65
Вариант 2.14 Размерность матрицы: Матрица А: 4.88 11.83 11.83 14.49 10.10 19.07 9.65 -5.99 Величина Вариант 2.15 Размерность матрицы: Матрица А: 12.78 2.68 2.68 15.49 15.15 2.54 12.09 -4.73 Величина Вариант 2.16 Размерность матрицы: Матрица А: 1.11 -12.39 -12.39 -5.30 -0.58 13.76 -9.84 -13.63 Величина Вариант 2.17 Размерность матрицы: Матрица А: 2.77 12.64 12.64 -7.23 7.86 19.15 -12.58 12.74 Величина
n=4. 10.10 9.65 19.07 -5.99 -15.79 2.67 2.67 6.90 ε=2·10-4.
n=4. 15.15 12.09 2.54 -4.73 -8.25 -8.53 -8.53 19.65 ε=3·10-4.
n=4. -0.58 -9.84 13.76 -13.63 -9.34 -6.77 -6.77 12.19 ε=1·10-4.
n=4. 7.86 -12.58 19.15 12.74 -7.01 12.40 12.40 -19.45 ε=2·10-4. 66
Вариант 2.18 Размерность матрицы: Матрица А: -6.96 -17.30 -17.30 -8.92 10.27 -13.63 8.84 9.23 Величина Вариант 2.19 Размерность матрицы: Матрица А: 14.91 -10.25 -10.25 18.85 0.74 11.72 7.58 16.92 Величина Вариант 2.20 Размерность матрицы: Матрица А: 0.28 19.71 19.71 11.08 8.28 -7.08 3.28 14.33 Величина Вариант 2.21 Размерность матрицы: Матрица А: 0.55 -17.58 -17.58 -0.36 -13.31 0.11 -3.31 -7.59 Величина
n=4. 10.27 8.84 -13.63 9.23 6.03 -10.78 -10.78 -12.61 ε=3·10-4.
n=4. 0.74 7.58 11.72 16.92 -14.03 3.33 3.33 19.50 ε=1·10-4.
n=4. 8.28 3.28 -7.08 14.33 4.18 0.68 0.68 -18.83 ε=2·10-4.
n=4. -13.31 -3.31 0.11 -7.59 3.22 -5.17 -5.17 0.31 ε=3·10-4. 67
Вариант 2.22 Размерность матрицы: Матрица А: -17.69 9.35 9.35 -16.54 8.92 15.73 10.28 19.92 Величина Вариант 2.23 Размерность матрицы: Матрица А: -5.06 -17.64 -17.64 11.43 -1.53 -2.04 11.47 -9.40 Величина Вариант 2.24 Размерность матрицы: Матрица А: 11.18 16.72 16.72 19.12 19.51 -16.52 8.35 -14.87 Величина Вариант 2.25 Размерность матрицы: Матрица А: 10.53 -7.95 -7.95 -13.48 -3.34 13.24 2.83 -12.94 Величина
n=4. 8.92 10.28 15.73 19.92 -4.15 -8.73 -8.73 7.50 ε=1·10-4.
n=4. -1.53 11.47 -2.04 -9.40 16.89 -7.59 -7.59 14.45 ε=2·10-4.
n=4. 19.51 8.35 -16.52 -14.87 11.67 -10.88 -10.88 -4.30 ε=3·10-4.
n=4. -3.34 2.83 13.24 -12.94 -5.69 3.00 3.00 8.57 ε=1·10-4. 68
Варианты заданий к работе 3 Вариант 3.1 Степень аппроксимирующего полинома: m=3. Таблица приближенных значений функции: xi yi
-3,24 -1,58
-1,36 -1,59
-0,40 -1,07
0,92 -0,17
1,02 0,29
2,21 -0,05
2,23 -0,45
Метод решения СЛАУ: метод Крамера (определители матриц рассчитываются с помощью метода Гаусса). Вариант 3.2 Степень аппроксимирующего полинома: m=3. Таблица приближенных значений функции: xi yi
-7,56 17,22
-6,59 16,67
-5,51 15,89
-5,27 15,18
-4,98 15,25
-4,43 16,02
-4,06 15,05
Метод решения СЛАУ: классический метод Гаусса. Вариант 3.3 Степень аппроксимирующего полинома: m=3. Таблица приближенных значений функции: xi yi
16,45 -16,60
16,98 -17,35
18,46 -16,42
19,50 -17,05
21,29 -17,19
23,10 -18,00
23,65 -18,46
Метод решения СЛАУ: решение СЛАУ через поиск обратной матрицы (обратная матрица рассчитывается с помощью метода Гаусса). Вариант 3.4 Степень аппроксимирующего полинома: m=2. Таблица приближенных значений функции: xi yi
17,27 13,09
17,29 13,64
19,25 12,96
20,96 11,97
21,86 12,29
23,17 13,28
25,07 12,65
Метод решения СЛАУ: метод Крамера (определители матриц рассчитываются с помощью метода Гаусса).
69
Вариант 3.5 Степень аппроксимирующего полинома: m=2. Таблица приближенных значений функции: xi yi
-15,85 -3,69
-13,89 -4,34
-13,41 -3,65
-11,72 -4,32
-11,37 -3,35
-9,46 -3,53
-8,96 -3,86
Метод решения СЛАУ: классический метод Гаусса. Вариант 3.6 Степень аппроксимирующего полинома: m=4. Таблица приближенных значений функции: xi yi
11,15 15,05
12,15 14,22
12,46 14,45
12,80 14,69
14,64 14,05
15,60 14,66
16,58 15,29
Метод решения СЛАУ: решение СЛАУ через поиск обратной матрицы (обратная матрица рассчитывается с помощью метода Гаусса). Вариант 3.7 Степень аппроксимирующего полинома: m=3. Таблица приближенных значений функции: xi yi
-5,16 3,00
-3,27 3,98
-2,08 4,88
-1,72 4,94
-0,83 5,48
-0,49 6,35
0,14 6,89
Метод решения СЛАУ: метод Крамера (определители матриц рассчитываются с помощью метода Гаусса). Вариант 3.8 Степень аппроксимирующего полинома: m=2. Таблица приближенных значений функции: xi yi
6,48 -6,28
8,31 -6,84
9,36 -5,85
11,06 -5,09
11,71 -5,74
12,95 -5,18
Метод решения СЛАУ: классический метод Гаусса.
70
13,31 -5,21
Вариант 3.9 Степень аппроксимирующего полинома: m=3. Таблица приближенных значений функции: xi yi
3,91 -6,74
4,45 -7,12
5,83 -6,50
7,18 -5,83
8,78 -4,91
10,75 -5,91
11,82 -5,65
Метод решения СЛАУ: решение СЛАУ через поиск обратной матрицы (обратная матрица рассчитывается с помощью метода Гаусса). Вариант 3.10 Степень аппроксимирующего полинома: m=3. Таблица приближенных значений функции: xi yi
0,67 -19,66
1,16 -20,23
2,94 -20,29
3,04 -20,12
3,74 -21,03
3,99 -20,75
0,67 -19,66
Метод решения СЛАУ: метод Крамера (определители матриц рассчитываются с помощью метода Гаусса). Вариант 3.11 Степень аппроксимирующего полинома: m=3. Таблица приближенных значений функции: xi yi
1,13 11,74
2,47 11,42
3,09 10,45
3,86 10,42
3,99 9,98
4,91 10,50
1,13 11,74
Метод решения СЛАУ: классический метод Гаусса. Вариант 3.12 Степень аппроксимирующего полинома: m=2. Таблица приближенных значений функции: xi yi
12,00 -1,69
12,28 -2,17
12,41 -2,47
13,39 -2,41
13,97 -1,68
15,10 -0,89
16,40 -0,54
Метод решения СЛАУ: решение СЛАУ через поиск обратной матрицы (обратная матрица рассчитывается с помощью метода Гаусса).
71
Вариант 3.13 Степень аппроксимирующего полинома: m=4. Таблица приближенных значений функции: xi yi
5,05 8,12
5,89 7,81
5,91 7,72
7,22 7,38
7,54 7,55
8,29 7,00
9,13 7,45
Метод решения СЛАУ: метод Крамера (определители матриц рассчитываются с помощью метода Гаусса). Вариант 3.14 Степень аппроксимирующего полинома: m=3. Таблица приближенных значений функции: xi yi
1,06 -16,00
2,93 -15,54
3,96 -15,27
5,45 -15,39
6,55 -15,52
6,69 -14,86
8,16 -14,55
Метод решения СЛАУ: классический метод Гаусса. Вариант 3.15 Степень аппроксимирующего полинома: m=3. Таблица приближенных значений функции: xi yi
-2,66 -17,87
-2,26 -17,11
-0,29 -17,31
1,14 -16,82
3,03 -17,39
3,11 -17,82
-2,66 -17,87
Метод решения СЛАУ: решение СЛАУ через поиск обратной матрицы (обратная матрица рассчитывается с помощью метода Гаусса). Вариант 3.16 Степень аппроксимирующего полинома: m=3. Таблица приближенных значений функции: xi yi
14,09 -14,28
16,04 -13,59
17,22 -12,74
17,36 -12,73
18,32 -13,69
19,39 -14,21
21,05 -13,70
Метод решения СЛАУ: метод Крамера (определители матриц рассчитываются с помощью метода Гаусса).
72
Вариант 3.17 Степень аппроксимирующего полинома: m=3. Таблица приближенных значений функции: xi yi
7,91 17,59
9,61 18,07
10,44 17,39
11,05 16,82
11,93 17,30
12,90 18,27
14,34 17,73
Метод решения СЛАУ: классический метод Гаусса. Вариант 3.18 Степень аппроксимирующего полинома: m=4. Таблица приближенных значений функции: xi yi
3,12 -15,06
5,09 -14,10
6,01 -14,95
6,07 -15,47
7,43 -15,18
9,12 -15,79
3,12 -15,06
Метод решения СЛАУ: решение СЛАУ через поиск обратной матрицы (обратная матрица рассчитывается с помощью метода Гаусса). Вариант 3.19 Степень аппроксимирующего полинома: m=3. Таблица приближенных значений функции: xi yi
-17,91 2,15
-17,49 2,76
-16,47 3,27
-16,28 3,18
-14,76 3,87
-13,62 3,62
-13,53 2,66
Метод решения СЛАУ: метод Крамера (определители матриц рассчитываются с помощью метода Гаусса). Вариант 3.20 Степень аппроксимирующего полинома: m=3. Таблица приближенных значений функции: xi yi
15,53 -11,63
17,41 -11,23
17,42 -11,20
18,91 -11,44
19,91 -12,25
20,56 -12,81
Метод решения СЛАУ: классический метод Гаусса.
73
20,84 -13,00
Вариант 3.21 Степень аппроксимирующего полинома: m=4. Таблица приближенных значений функции: xi yi
-9,58 17,14
-8,90 16,28
-7,92 15,48
-7,81 15,04
-6,34 15,25
-5,12 14,41
-4,34 14,87
Метод решения СЛАУ: решение СЛАУ через поиск обратной матрицы (обратная матрица рассчитывается с помощью метода Гаусса). Вариант 3.22 Степень аппроксимирующего полинома: m=2. Таблица приближенных значений функции: xi yi
3,20 -5,77
4,96 -6,68
5,46 -6,54
5,82 -7,14
7,34 -8,00
8,91 -7,59
9,29 -8,51
Метод решения СЛАУ: метод Крамера (определители матриц рассчитываются с помощью метода Гаусса). Вариант 3.23 Степень аппроксимирующего полинома: m=3. Таблица приближенных значений функции: xi yi
2,80 18,80
4,19 19,48
5,49 19,45
6,24 19,09
7,35 19,67
9,04 19,69
10,05 18,95
Метод решения СЛАУ: классический метод Гаусса. Вариант 3.24 Степень аппроксимирующего полинома: m=3. Таблица приближенных значений функции: xi yi
-7,62 9,64
-7,14 10,06
-5,37 10,16
-3,77 10,82
-2,34 11,01
-0,86 11,33
-7,62 9,64
Метод решения СЛАУ: решение СЛАУ через поиск обратной матрицы (обратная матрица рассчитывается с помощью метода Гаусса).
74
Вариант 3.25 Степень аппроксимирующего полинома: m=4. Таблица приближенных значений функции: xi yi
18,87 -13,92
19,83 -14,31
20,82 -15,13
21,16 -16,07
22,88 -16,97
24,29 -16,79
24,85 -16,60
Метод решения СЛАУ: метод Крамера (определители матриц рассчитываются с помощью метода Гаусса).
Варианты заданий к работе 4 Вариант 4.1 Функция f(x):
1
. 1 + x2 Точка расчета: x=1. Формула аппроксимации значений первой производной: (4.1). Уровень абсолютных погрешностей значений функции: ∆=7⋅10-6. Точность расчета: ε=8⋅10-4.
Вариант 4.2 xx . Функция f(x): Точка расчета: x=1. Формула аппроксимации значений первой производной: (4.2). Уровень абсолютных погрешностей значений функции: ∆=1⋅10-6. Точность расчета: ε=7⋅10-4.
75
Вариант 4.3 ex . 1 + e2x Точка расчета: x=0. Формула аппроксимации значений первой производной: (4.3). Уровень абсолютных погрешностей значений функции: ∆=7⋅10-6. Точность расчета: ε=3⋅10-4.
Функция f(x):
Вариант 4.4 Функция f(x):
1
−
x2 2
e . 2π Точка расчета: x=1. Формула аппроксимации значений первой производной: (4.4). Уровень абсолютных погрешностей значений функции: ∆=4⋅10-6. Точность расчета: ε=5⋅10-4.
Вариант 4.5 sin x . x Точка расчета: x=-π/3. Формула аппроксимации значений первой производной: (4.5). Уровень абсолютных погрешностей значений функции: ∆=5⋅10-6. Точность расчета: ε=5⋅10-4.
Функция f(x):
76
Вариант 4.6 x ⋅ cos e x . Функция f(x): Точка расчета: x=0. Формула аппроксимации значений первой производной: (4.1). Уровень абсолютных погрешностей значений функции: ∆=3⋅10-6. Точность расчета: ε=9⋅10-4. Вариант 4.7 Функция f(x): e−x . Точка расчета: x=0. Формула аппроксимации значений первой производной: (4.2). Уровень абсолютных погрешностей значений функции: ∆=3⋅10-6. Точность расчета: ε=5⋅10-4. Вариант 4.8 ln x . 1 + ex Точка расчета: x=1. Формула аппроксимации значений первой производной: (4.3). Уровень абсолютных погрешностей значений функции: ∆=6⋅10-6. Точность расчета: ε=9⋅10-4.
Функция f(x):
−
77
Вариант 4.9 x2 + 1 . 3x 3 − 5 x 2 + 10 Точка расчета: x=1. Формула аппроксимации значений первой производной: (4.4). Уровень абсолютных погрешностей значений функции: ∆=3⋅10-6. Точность расчета: ε=2⋅10-4.
Функция f(x):
Вариант 4.10 Функция f(x): ln x ⋅ cos x . Точка расчета: x=1. Формула аппроксимации значений первой производной: (4.5). Уровень абсолютных погрешностей значений функции: ∆=5⋅10-6. Точность расчета: ε=3⋅10-4. Вариант 4.11 Функция f(x): arctg x . Точка расчета: x=-π/4. Формула аппроксимации значений первой производной: (4.1). Уровень абсолютных погрешностей значений функции: ∆=8⋅10-6. Точность расчета: ε=1⋅10-4.
78
Вариант 4.12 ecos x . Функция f(x): Точка расчета: x=0. Формула аппроксимации значений первой производной: (4.2). Уровень абсолютных погрешностей значений функции: ∆=6⋅10-6. Точность расчета: ε=7⋅10-4. Вариант 4.13 1 x e . x Точка расчета: x=1. Формула аппроксимации значений первой производной: (4.3). Уровень абсолютных погрешностей значений функции: ∆=4⋅10-6. Точность расчета: ε=7⋅10-4.
Функция f(x):
Вариант 4.14 Функция f(x):
1
. 1 + x2 Точка расчета: x=2. Формула аппроксимации значений первой производной: (4.4). Уровень абсолютных погрешностей значений функции: ∆=1⋅10-6. Точность расчета: ε=6⋅10-4.
79
Вариант 4.15 xx . Функция f(x): Точка расчета: x=2. Формула аппроксимации значений первой производной: (4.5). Уровень абсолютных погрешностей значений функции: ∆=4⋅10-6. Точность расчета: ε=2⋅10-4. Вариант 4.16 ex . 1 + e2x Точка расчета: x=1. Формула аппроксимации значений первой производной: (4.1). Уровень абсолютных погрешностей значений функции: ∆=6⋅10-6. Точность расчета: ε=6⋅10-4.
Функция f(x):
Вариант 4.17 Функция f(x):
1
−
x2 2
e . 2π Точка расчета: x=1,5. Формула аппроксимации значений первой производной: (4.2). Уровень абсолютных погрешностей значений функции: ∆=5⋅10-6. Точность расчета: ε=5⋅10-4.
80
Вариант 4.18 sin x . x Точка расчета: x=π. Формула аппроксимации значений первой производной: (4.3). Уровень абсолютных погрешностей значений функции: ∆=2⋅10-6. Точность расчета: ε=1⋅10-4.
Функция f(x):
Вариант 4.19 x ⋅ cos e x . Функция f(x): Точка расчета: x=1. Формула аппроксимации значений первой производной: (4.4). Уровень абсолютных погрешностей значений функции: ∆=⋅10-6. Точность расчета: ε=⋅10-4. Вариант 4.20 Функция f(x): e−x . Точка расчета: x=1. Формула аппроксимации значений первой производной: (4.5). Уровень абсолютных погрешностей значений функции: ∆=8⋅10-6. Точность расчета: ε=7⋅10-4.
81
Вариант 4.21 ln x . 1 + ex Точка расчета: x=2. Формула аппроксимации значений первой производной: (4.1). Уровень абсолютных погрешностей значений функции: ∆=2⋅10-6. Точность расчета: ε=5⋅10-4.
Функция f(x):
−
Вариант 4.22 x2 + 1 . 3x 3 − 5 x 2 + 10 Точка расчета: x=1,3. Формула аппроксимации значений первой производной: (4.2). Уровень абсолютных погрешностей значений функции: ∆=8⋅10-6. Точность расчета: ε=2⋅10-4.
Функция f(x):
Вариант 4.23 Функция f(x): ln x ⋅ cos x . Точка расчета: x=2. Формула аппроксимации значений первой производной: (4.3). Уровень абсолютных погрешностей значений функции: ∆=4⋅10-6. Точность расчета: ε=7⋅10-4.
82
Вариант 4.24 Функция f(x): arctg x . Точка расчета: x=0. Формула аппроксимации значений первой производной: (4.4). Уровень абсолютных погрешностей значений функции: ∆=4⋅10-6. Точность расчета: ε=4⋅10-4. Вариант 4.25 Функция f(x): ecos x . Точка расчета: x=1. Формула аппроксимации значений первой производной: (4.5). Уровень абсолютных погрешностей значений функции: ∆=7⋅10-6. Точность расчета: ε=3⋅10-4.
Варианты заданий к работе 5 Вариант 5.1 x2 y . 2 модифицированный метод Эйлера (метод
ОДУ первого порядка: Метод решения: Хойна).
y′ =
Вариант 5.2 2x . y усовершенствованный метод Эйлера (метод
ОДУ первого порядка: Метод решения: средней точки).
y′ = y +
83
Вариант 5.3 ОДУ первого порядка: y′ = x + y . Метод решения: метод Рунге–Кутта 4-го порядка. Вариант 5.4 y + 3x . 2 метод Адамса–Башфорта 2-го порядка.
ОДУ первого порядка: Метод решения:
y′ =
Вариант 5.5 xy + x2 . 2 метод Адамса–Башфорта 3-го порядка.
ОДУ первого порядка: Метод решения:
y′ =
Вариант 5.6 x2 y . 2 метод прогноза и коррекции 2-го порядка.
ОДУ первого порядка: Метод решения:
y′ =
Вариант 5.7 2x . y метод прогноза и коррекции 3-го порядка.
ОДУ первого порядка: Метод решения:
y′ = y +
Вариант 5.8 ОДУ первого порядка: y′ = x + y . Метод решения: модифицированный метод Эйлера (метод Хойна).
84
Вариант 5.9 y + 3x . 2 усовершенствованный метод Эйлера (метод
ОДУ первого порядка: Метод решения: средней точки).
y′ =
Вариант 5.10 xy + x2 . 2 метод Рунге–Кутта 4-го порядка.
ОДУ первого порядка: Метод решения:
y′ =
Вариант 5.11 x2 y . 2 метод Адамса–Башфорта 2-го порядка.
ОДУ первого порядка: Метод решения:
y′ =
Вариант 5.12 2x . y метод Адамса–Башфорта 3-го порядка.
ОДУ первого порядка: Метод решения:
y′ = y +
Вариант 5.13 ОДУ первого порядка: y′ = x + y . Метод решения: метод прогноза и коррекции 2-го порядка. Вариант 5.14 y + 3x . 2 метод прогноза и коррекции 3-го порядка.
ОДУ первого порядка: Метод решения:
y′ =
85
Вариант 5.15 xy + x2 . 2 модифицированный метод Эйлера (метод
ОДУ первого порядка: Метод решения: Хойна).
y′ =
Вариант 5.16 x2 y . 2 усовершенствованный метод Эйлера (метод
ОДУ первого порядка: Метод решения: средней точки).
y′ =
Вариант 5.17 2x . y метод Рунге–Кутта 4-го порядка.
ОДУ первого порядка: Метод решения:
y′ = y +
Вариант 5.18 ОДУ первого порядка: y′ = x + y . Метод решения: метод Адамса–Башфорта 2-го порядка. Вариант 5.19 y + 3x . 2 метод Адамса–Башфорта 3-го порядка.
ОДУ первого порядка: Метод решения:
y′ =
Вариант 5.20 xy + x2 . 2 метод прогноза и коррекции 2-го порядка.
ОДУ первого порядка: Метод решения:
y′ =
86
Вариант 5.21 x2 y . 2 метод прогноза и коррекции 3-го порядка.
ОДУ первого порядка: Метод решения:
y′ =
Вариант 5.22 2x . y модифицированный метод Эйлера (метод
ОДУ первого порядка: Метод решения: Хойна).
y′ = y +
Вариант 5.23 ОДУ первого порядка: y′ = x + y . Метод решения: усовершенствованный метод Эйлера (метод средней точки). Вариант 5.24 y + 3x . 2 метод Рунге–Кутта 4-го порядка.
ОДУ первого порядка: Метод решения:
y′ =
Вариант 5.25 xy + x2 . 2 метод Адамса–Башфорта 2-го порядка.
ОДУ первого порядка: Метод решения:
y′ =
87
Андрей Александрович Трухачев
Лабораторный практикум по курсу «Численные методы»
Редактор Н.В. Шумакова Оригинал-макет изготовлен А.А. Трухачевым
Подписано в печать 28.10.2010
Формат 60x84
1 16
Печ. л. 5,5 Уч.-изд. л. 5,5 Тираж 100 экз. Изд. № 060-1 Заказ № Национальный исследовательский ядерный университет «МИФИ». Типография НИЯУ МИФИ. 115409, Москва, Каширское ш., 31