ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 04.04.2021
Просмотров: 752
Скачиваний: 1
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
А.А. Крыловецкий, Л.Л. Погодина, К.Н. Карелин
ВЫЧИСЛИТЕЛЬНЫЙ ЭКСПЕРИМЕНТ
И
МЕТОДЫ ВЫЧИСЛЕНИЙ
ВОРОНЕЖ 2007
Утверждено Научно-методическим советом
факультета компьютерных наук 10 октября 2007 г.
Рецензент: доцент кафедры математической физики ВГУ,
кандидат физико-математических наук В.Е. Чернов
Учебное пособие подготовлено на кафедре цифровых технологий
факультета компьютерных наук Воронежского государственного
университета.
Рекомендуется для студентов факультета компьютерных наук
2 и 3 курсов дневного отделения.
Для специальностей 230201 – “Информационные системы и технологии”;
230200 – “Информационные системы”; 010300 – “Математика. Компью-
терные науки”.
2
Введение
Настоящее учебное пособие по курсу «Вычислительный эксперимент
и методы вычислений», читаемому студентам 2 и 3-го курсов факультета
компьютерных наук, содержит как изложение теоретических основ чис-
ленных методов, так и примеры их реализации в среде пакета символь-
ной математики Maple, а также задания для самостоятельной работы
студентов на лабораторном практикуме. В последнем разделе приведе-
ны примеры программирования численных алгоритмов на языке Fortran.
Среда Maple позволяет студентам реализовать изучаемые численные ме-
тоды на простом алгоритмическом языке, а Fortran, как известно, явля-
ется в мире стандартом «де-факто» в серьезных вычислительных зада-
чах.
1.
Точность вычислительного эксперимента
1.1.
Числа с плавающей точкой
Вещественные числа, представленные в форме с плавающей точкой,
чаще всего используются при решении расчетных задач на компьютерах.
Десятичное число в этом случае имеет вид:
A
=
±
m
·
10
n
.
(1)
Здесь
m
– мантисса числа,
n
– его порядок.
Если
0
.
1
6
m <
1
, то число имеет нормализованную форму. Запись
числа в виде XXX.XX – форма с фиксированной точкой.
В случае системы счисления с основанием
γ
произвольное число
G
будет иметь вид:
G
=
±
0
.g
1
g
2
g
3
...g
k
·
γ
n
,
(2)
где
g
i
– целые числа, причем
0
6
g
i
6
γ
−
1
.
Подмножество действительных чисел, с которым работает компью-
тер, является конечным: оно определяется разрядностью
k
, а также ми-
нимальной и максимальной границами порядка
n
1
и
n
2
. Можно показать,
что это подмножество содержит
N
= 2(
γ
−
1)(
n
2
−
n
1
+ 1)
γ
k
−
1
+ 1
(3)
чисел. Наименьшее число называется машинным нулем и равно
G
0
= (
γ
−
1)
γ
n
1
−
1
,
(4)
3
наибольшее число называется машинной бесконечностью и равно
G
∞
= (1
−
γ
−
k
)
γ
n
2
.
(5)
В настоящее время общепринятым для арифметических операций с
двоичными числами с плавающей точкой является стандарт IEEE 754,
предусматривающий форматы числа с одинарной и двойной точностью.
Для этих форматов
Точность
Байты
k
n
1
n
2
G
0
G
∞
одинарная
4
24
−
125
128
1
.
2
·
10
−
38
3
.
4
·
10
38
двойная
8
53
−
1021
1024
2
.
2
·
10
−
308
1
.
8
·
10
308
Соответствующие типы данных в языке Си: float и double; в языке
Паскаль: single и double; в языке Фортран: real и double precision.
1.2.
Вычислительные погрешности
√√
Абсолютная погрешность некоторого числа равна разности меж-
ду его приближенным значением, полученным в результате вычислений
или измерений, и истинным значением.
√√
Относительная погрешность – отношение абсолютной погрешно-
сти к точному (или приближенному) значению числа.
∆
a
=
a
−
a
0
,
δa
=
∆
a
a
.
(6)
Для приближенного числа, полученного в результате округления, аб-
солютная погрешность
∆
a
принимается равной половине единицы по-
следнего разряда числа. Т.е., если
a
= 0
.
467
, то
∆
a
= 0
.
0005
.
√√
Значащими цифрами данного числа считаются все цифры, на-
чиная с первой ненулевой цифры.
При изменении формы записи числа число значащих цифр не должно
меняться. Например,
4300 = 0
.
4300
·
10
4
.
Правила оценки предельных погрешностей
Для вычисления абсолютных погрешностей используют формулы,
похожие на правила вычисления производных (с заменой
−
на
+
):
∆(
a
±
b
) = ∆
a
+ ∆
b,
δ
(
ab
) =
δa
+
δb,
δ
(
a/b
) =
δa
+
δb,
δ
(
a
k
) =
kδa.
(7)
4
Найдем относительную погрешность разности двух чисел:
δ
(
a
−
b
) =
∆(
a
−
b
)
a
−
b
=
∆
a
+ ∆
b
a
−
b
.
Пример:
a
= 5462
,
b
= 5460
. Найти
δ
(
a
−
b
)
.
Очевидно, что
∆
a
= ∆
b
= 0
.
5
. Тогда
δ
(
a
−
b
) =
0
.
5 + 0
.
5
2
= 0
.
5
→
50 %
.
Источники погрешностей
1. Математическая модель, если в ней не учитываются важные эле-
менты рассматриваемой задачи, и исходные данные приводят к
неустра-
нимым погрешностям
, т.к. они не могут быть уменьшены вычислите-
лем.
2.
Погрешность численного метода
возникает из-за замены интегра-
ла суммой, интерполирования данных и т.д. Погрешность численного
метода как правило может быть сделана как угодно малой. Обычно ее
доводят до величины в несколько раз меньшей неустранимой погрешно-
сти.
3.
Погрешности округлений
являются неизбежными из-за ограничен-
ности разрядной сетки машины и могут быть найдены по формуле:
δ
max
= 0
.
5
γ
1
−
k
(8)
Здесь
γ
– основание системы счисления,
k
– количество разрядов ман-
тиссы числа.
Способы уменьшения вычислительных погрешностей:
1. При вычислении суммы многих слагаемых избегать складывать
большие по величине слагаемые с маленькими, а производить сложение
по мере возрастания слагамых.
2. При наличии алгебраических выражений производить их упроще-
ние для более точных вычислений. Например, если
a
À
x
, то
(
a
+
x
)
2
−
−
a
2
→
0
, поэтому надо преобразовать к виду
(
a
+
x
)
2
−
a
2
= 2
ax
+
x
2
.
3. Организация постоянного контроля погрешностей для предотвра-
щения получения неправильного результата.
5