Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Численные методы. Учебно-методическое пособие по лабораторным работам и самостоятельной работе студентов.pdf
X
- •Введение
- •2.1 Методы решения
- •1 Решение уравнений с одной переменной
- •1.1 Методы решения
- •1.1.1 Интервальные методы
- •1.1.2 Итерационные методы
- •1.1.2 Комбинированный метод
- •1.2 Формат входных данных
- •1.3 Формат выходных данных
- •2 Решение задач линейной алгебры
- •2.1.1 Метод Гаусса
- •2.1.2 Метод декомпозиции
- •2.1.3 Метод ортогонализации
- •2.1.4 Метод простой итерации
- •2.1.5 Метод Зейделя
- •2.1.6 Вычисление обратных матриц
- •2.2 Формат входных данных
- •2.3 Формат выходных данных
- •3.1 Методы решения
- •3.1.1 Вычисление собственных чисел методом Данилевского
- •3.1.2 Вычисление собственных векторов методом Данилевского
- •3.1.3 Определение кратности собственных чисел и векторов
- •3.2 Формат входных данных
- •3.3 Формат выходных данных
- •4 Решение систем нелинейных уравнений
- •4.1 Методы решения
- •4.1.1 Метод Ньютона
- •4.1.2 Метод итераций
- •4.1.3 Метод наискорейшего спуска
- •4.2 Формат входных данных
- •4.3 Формат выходных данных
- •5.1 Методы решения
- •5.1.1 Полином Ньютона
- •5.1.2 Полином Лагранжа
- •5.2 Формат входных данных
- •5.3 Формат выходных данных
- •6 Приближение сплайнами
- •6.1 Методы решения
- •6.1.1 Линейные сплайны
- •6.1.2 Параболические сплайны
- •6.1.3 Кубические сплайны
- •6.1.4 Метод прогонки
- •6.2 Формат входных данных
- •6.3 Формат выходных данных
- •7 Численное интегрирование функций
- •7.1 Методы решения
- •7.1.1 Формулы прямоугольников
- •7.1.2 Формула трапеций
- •7.1.3 Формула Симпсона
- •7.1.4 Формула Чебышева
- •7.1.5 Формула Гаусса
- •7.1.6 Вычисления с заданной точностью
- •7.2 Формат входных данных
- •7.3 Формат выходных данных
- •8.1 Методы решения
- •8.1.1 Решение ОДУ первого порядка
- •8.1.2 Решение систем ОДУ
- •8.1.3 Решение ОДУ n-го порядка
- •8.2 Формат входных данных
- •8.3 Формат выходных данных
- •9.1 Методы решения
- •9.1.1 Метод последовательных приближений
- •9.1.2 Метод дискретизации
- •9.1.3 Решение ЛИУ первого рода
- •9.2 Формат входных данных
- •9.3 Формат выходных данных
- •Список литературы
- •А.1. Порядок выполнения и сдача работы
- •А.2 Входные и выходные данные программ
- •А.2.1 Форматирование чисел и строк
- •А.2.2 Работа с функциями, заданными в аналитическом виде
- •А.2.3 Использование стандартных потоков ввода-вывода
- •А.2.4 Результаты вычислений. Погрешность
- •А.3 Требования к структуре отчета

ti
– абсциссы точек интегрирования (при m =
5);
Ai
– коэффициенты Ai для формулы Гаусса.
71

8 РЕШЕНИЕ ОБЫКНОВЕННЫХ
22
.y x y
yx
y
yx
22
1
ln arctg .
2
y
x y C
x
1
, , ,..., .
nn
y f x y x y x y x
00
00
11
00
,
,
...,
.
nn
y x y
y x y
y x y
ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ
О необходимости численных методов решения уравнений и систем уравнений мы уже говорили. Рассмотрим
ситуацию, когда уравнения и системы уравнений включают
дифференциалы. Отметим также, что не все ДУ имеют ана-
литическое решение, например,
Другой пример. Уравнение
имеет решение
Здесь (и далее) C – произвольная константа. Т.о., хотя ДУ и
имеет решение, но выразить в чистом виде функцию y(x) из
него невозможно.
В общем случае, ОДУ имеет следующий вид:
(8.1)
Его решением является семейство функций y(x) + C.
Фиксируем одну из них, удовлетворяющую n начальным
условиям
72
(8.2)

В дальнейшем для сокращения формул вместо y
11
111
, ,..., , ,..., , ,..., ,
1,2,..., .
n n n
k k p p p
y f x y y y y y y
kp
00
00
11
00
,
,
...,
.
kk
kk
nn
kk
y x y
y x y
y x y
1
1
,
q
i i j j i
j
y x y x p k h
будем использовать запись y
(i)
.
Если речь идет о системе ОДУ, то имеем
(i)
(x)
(8.3)
Ее решением является семейство функций yk(x) + Ck.
Фиксируем систему из p функций, удовлетворяющих p·n
начальным условиям
(8.4)
8.1 МЕТОДЫ РЕШЕНИЯ
В данной лабораторной работе будем применять методы Рунге-Кутта для решения ОДУ первого порядка, ре-
шения систем ОДУ и решения ОДУ n-го порядка.
8.1.1 РЕШЕНИЕ ОДУ ПЕРВОГО ПОРЯДКА
ОДУ первого порядка, согласно (8.1), имеет вид
y' = f (x, y).
Т.е. просто полагаем n = 1. При этом задано начальное
условие y0 = y(x0).
Решение ОДУ первого порядка методом Рунге-Кутта
выглядит следующим образом:
(8.5)
73

где q – порядок точности. Будем рассматривать 4 порядка
1
1
,.
j
j i i i j i i jr r i
r
k h h f x h y x k h
1
1
1,
0.
p
[0,1)
21
1 2 21
2
1,
1
0, .
2
pp
p
12
1 21
11
,,
22
1, 1
pp
12
1 21
0, 1,
11
,.
22
pp
1 3 2
1 2 3
21 31 32
14
,,
66
1
0, , 1,
2
1
, 1, 2.
2
p p p
точности. При этом
При q = 1 (первый порядок точности) имеем
(8.7)
При q = 2 (второй порядок точности) коэффициент p1
можно выбрать любой в диапазоне
, а далее
(8.8)
Например,
или
(8.6)
При q = 3 (третий порядок точности)
При q = 4 (четвертый порядок точности)
(8.9)
74

1 4 2 3
1 2 3 4
21 31 32
41 42 43
12
,,
66
11
0, , , 1,
22
11
, 0, ,
22
0, 0, 1.
p p p p
1 2 0 0
, , ,..., , ,
1,2,..., .
k k p k k
y f x y y y y y x
kp
1
1
,
q
k i k i j jk i
j
y x y x p k h
1
11
1
,,
j
jk i i k i j i i jr r i
r
k h h f x h y x k h
11
22
11
,..., .
jj
i jr r i p i jr rp i
rr
y x k h y x k h
8.1.2 РЕШЕНИЕ СИСТЕМ ОДУ
(8.10)
Пусть имеется система ОДУ (8.3) и начальные условия (8.4). Поскольку в общем случае решение получается
громоздким, будем рассматривать систему ДУ первого по-
рядка (далее – СДУ), т.е. n = 1:
По аналогии с (8.5), решение СДУ будет иметь вид
Коэффициенты p, α и β ищутся по формулам (8.7–8.10)
для соответствующего порядка точности.
Имеем ОДУ n-го порядка (8.1) с граничными условиями (8.2). Введем обозначения
8.1.3 РЕШЕНИЕ ОДУ N-ГО ПОРЯДКА
75
(8.11)
(8.12)
(8.13)

1
2
1
,
,
...,
.
n
n
y x y x
y x y x
y x y x
1
12
, 1,2,..., 1;
, , ,..., .
ii
nn
y x y x i n
y x f x y y y
1 2 1
1 2 1 2
, , ,..., , 1,2,..., 1;
, , ,..., , , ,..., .
i n i
n n n
f x y y y y i n
f x y y y f x y y y
t
– тип задачи (в том порядке, в котором они
рассмотрены в п. 8.1);
p
– количество уравнений в СДУ (при t = 2);
n
– порядок ДУ (при t = 3);
q
– порядок точности;
g
– любой символ или строка, задающие тип
сетки (равномерная, неравномерная);
m
– количество интервалов;
a b
– границы отрезка (если сетка равномерная);
x0…xm
– узлы сетки (если она неравномерная);
y0
– граничные условия (количество определяется типом задачи);
f
– аналитическое выражение для функции
(8.1) при t = 1 или t = 3;
Очевидно, что
(8.14)
(8.15)
Таким образом, мы получили СДУ (8.11), в которой
Полученную систему решаем согласно (8.12) и (8.13).
8.2 ФОРМАТ ВХОДНЫХ ДАННЫХ
Формат входного файла:
(8.16)
76

f1,
f2,
…,
fp
– система функций (8.3) при t = 2.
a
– любой символ или строка, сообщающая,
известно или нет точное аналитическое ре-
шение y(x) или yk(x);
y
– точное аналитическое решение y(x) или
yk(x) (если оно известно).
x0 y0
x1 y1
…
xm ym
– значения искомой функции в узлах
сетки (при t = 1 или t = 3);
x0 y10…yp0
x1 y11…yp1
…
xm y1m…ypm
– значения искомых функций в узлах
сетки (при t = 2);
ε
– СКО (если известно аналитическое
решение).
Для того, чтобы воспользоваться модулем, вычисляю-
щим значение аналитической функции, все переменные за-
дачи нужно свести к векторному аргументу x: x1 = x, x2 = y,
x3 = y' и т.д.
8.3 ФОРМАТ ВЫХОДНЫХ ДАННЫХ
Формат выходного файла:
77

9 РЕШЕНИЕ ЛИНЕЙНЫХ ИНТЕГРАЛЬНЫХ
,
b
a
K x s y s ds f x
,
b
a
y x K x s y s ds f x
УРАВНЕНИЙ
Опять же, нет необходимости обосновывать очевидную потребность в численных методах решения уравнений.
В данной лабораторной работе будем рассматривать уравнения, содержащие интегралы. Ограничимся случаем, когда
неизвестная функция входит в интеграл линейно, т.е. клас-
сом линейных интегральных уравнений (ЛИУ).
Уравнение вида
называется ЛИУ Фредгольма 1-го рода. Здесь f (x) – правая
часть, x принадлежит некоторому интервалу [c, d]; y(s) – ис-
комая функция, s принадлежит некоторому интервалу [a, b];
K(x, s) – ядро уравнения, заданное на прямоугольнике
[a ≤ s ≤ b, c ≤ x ≤ d].
Уравнение вида
называют ЛИУ Фредгольма 2-го рода. Здесь λ – некоторая
константа, а x и s заданы на одинаковом интервале [a, b].
Соответственно, ядро задано на квадрате [a ≤ s ≤ b, a ≤ x ≤ b].
9.1 МЕТОДЫ РЕШЕНИЯ
Будем решать ЛИУ Фредгольма 1-го и 2-го рода, при-
меняя в каждом случае методы последовательных прибли-
жений и дискретизации.
(9.1)
(9.2)
78

9.1.1 МЕТОД ПОСЛЕДОВАТЕЛЬНЫХ ПРИБЛИЖЕНИЙ
0
,
i
i
i
y x x
0
1
,
, , 1,2,...
b
ii
a
fx
K x s s ds i
,
1
, max , ,
a x s b
M K x s
M b a
0
.
m
i
mi
i
y x y x x
*
, max .
1
m
a x b
M b a
N N f x
M b a
01
01
...
...
n
n
a x x x b
a s s s b
Предположим, что решение ЛИУ Фредгольма 2-го
рода (9.2) можно представить в виде
(9.3)
(9.4)
Если
(9.5)
то ряд (9.3) сходится.
Т.к. мы не можем численно вычислить сумму беско-
нечного ряда, ограничимся m его членами:
(9.6)
Параметр m подбирается таким образом, чтобы погреш-
ность формулы (9.6) не превышала заранее заданной вели-
чины ε. Погрешность формулы (9.6) определяется выражением
9.1.2 МЕТОД ДИСКРЕТИЗАЦИИ
Введем сетку по переменным x и s:
79
(9.7)

0
,,
b
n
i j ij j
j
a
K x s y s ds A K y
, , .
ij i j j j
K K x s y y s
0
,,
n
ij j ij j i i i
j
e A K y f f f x
,.By f B E KA
,,
, , , ,
,.
b
a
d
c
d
c
y x K x s y s ds f x
K x s K t x K t s dt
f x K t x f t dt
2
*
,.
db
ca
f x K x s y s ds dx
(9.8)
Здесь Aj – квадратурные коэффициенты. Тогда вместо
(9.2) получим СЛАУ
(9.9)
или, в матричном виде,
9.1.3 РЕШЕНИЕ ЛИУ ПЕРВОГО РОДА
(9.10)
В общем случае, ЛИУ Фредгольма 1-го рода можно
свести ко 2-му роду, тогда вместо (9.1) получим
(9.11)
Очевидно, что модифицированное ядро задано уже на
квадрате [a ≤ s ≤ b, a ≤ x ≤ b], как и ядро уравнения (9.2).
Далее задача решается рассмотренными выше методами.
Остается единственная проблема – поиск положительного
параметра α. Для этого оценим невязку решения ЛИУ:
Если полученная невязка удовлетворяет заданной по-
грешности, то считаем задачу решенной. Таким образом,
(9.12)
80
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
