Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЛР1. 1.1. Определение абсолютной и относительной погрешностей приближенных чисел. Оценка погрешностей результата

.docx
Скачиваний:
5
Добавлен:
19.06.2023
Размер:
62.21 Кб
Скачать

Министерство науки и высшего образования РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В. И. Ульянова (Ленина)

Кафедра ИС

отчет

по лабораторной работе №1

по дисциплине «Конструирование программ»

Тема: Определение абсолютной и относительной погрешностей приближенных чисел. Оценка погрешностей результата

Студент гр. 93—

Преподаватель

Копыльцов А. В.

Санкт-Петербург

2021

Цель работы.

Научится практически оценивать погрешности результата. Разумная оценка погрешности позволяет удерживать оптимальное число знаков при вычислениях, оптимизируя трудоёмкость расчётов.

Основные теоретические положения.

1.1 Источники и классификация погрешностей результата численного эксперимента

Точный результат решения получить численно невозможно, он всегда содержит погрешность, то есть является приближенным. Наличие погрешности решения обусловлено следующими причинами.

1. Математическая модель всегда приближена. Характеристики истинного процесса всегда отличаются от модельных характеристик.

2. Исходные данные всегда содержат погрешность, ибо результат эксперимента неизбежно получается с ошибкой.

3. Теоретические и численные методы решения задач являются приближенными. Лишь решение тривиальной задачи можно получить в виде конечной формулы.

4. При вводе и выводе с ЭВМ производятся округления. Такие же округления производятся и при вычислениях.

Если — точное значение вычисляемой величины, то это значение содержит следующие погрешности: - неустранимая погрешность (пункты 1 и 2), - погрешность метода (пункт 3), - вычислительная погрешность (пункт 4). Таким образом, Не следует думать, что совершенно неизвестна. Конечно, она не известна точно, но её можно оценить приближённо, адаптируя модель к изучаемому процессу должна быть примерно на порядок меньше , а на порядок меньше . В этом случае достигается разумный компромисс и повышается достоверность конечного результата.

1.2. Погрешности чисел

Пусть — точное и неизвестное значение некоторой величины, а — её известное приближенное значение.

Ошибкой (или погрешностью) приближенного значения числа называется разность . Количественной мерой ошибки является абсолютная погрешность

.

По ней не всегда можно сделать правильное заключение о качестве приближения. Для этого вводится понятие относительной погрешности.

Относительной погрешностью приближенного значения числа называется

Эта погрешность не зависит от масштаба величины единицы измерения. Непосредственное вычисление по формулам невозможно, так как неизвестно. Часто задают величины — верхние границы погрешностей и полагают

При записи приближенных чисел руководствуются следующими правилами. Пусть задано в виде конечной десятичной дроби .

Значащими цифрами числа называются все цифры в его записи, начиная с первой ненулевой слева. Например,

все значащие цифры подчеркнуты.

Значащую цифру числа называют верной, если абсолютная погрешность числа не превосходит единицы разряда, соответствующего этой цифре.

Пусть Тогда имеет три верные значащие цифры (они подчёркнуты). Если бы было бы четыре верные значащие цифры. Число верных значащих цифр тесно связано с величиной относительной погрешности числа. Имеют место следующие результаты.

Теорема 1.1. Если содержит верных значащих цифр, то

Теорема 1.2. Для того чтобы число содержало верных значащих цифр, достаточно, чтобы

Теорема 1.3. Если имеет ровно значащих цифр, то , то есть

Эти теоремы позволяют оценивать по числу значащих цифр и наоборот. Например, если дано , то есть имеет шесть значащих цифр, то

При округлении возникает погрешность, называемая погрешностью округления. Существуют два способа округления.

1. Усечение – отбрасывание всех цифр, расположенных правее -ой значащей цифры. При этом погрешность не превышает (достигает) единицы того же разряда.

2. Округление по дополнению. Это следующее правило: если первая цифра слева от отбрасываемых меньше пяти, то лишнее просто отбрасывается, как при усечении; если же первая цифра слева от отбрасываемых больше или равна пяти, то в младший сохраняемый разряд добавляется единица. Абсолютная величина погрешности по дополнению не превышает половины единицы последней оставляемой значащей цифры.

1.3. Погрешности арифметических операций

Теорема 1.4. Абсолютная погрешность алгебраической суммы не превосходит суммы абсолютных погрешностей слагаемых, то есть

Теорема 1.5. Пусть - ненулевые числа одного знака. Тогда

Теорема 1.6. Для относительных погрешностей произведения и частного приближенных чисел верны следующие оценки:

Следствие. Если , то для оценки границ относительных погрешностей можно использовать следующие приближенные равенства Чаще всего на практике делают именно так.

1.4. Погрешности функций

Пусть - функция переменных, дифференцируемая в рассматриваемой области (например, на отрезке ).

Теорема 1.7. Для абсолютной погрешности значения справедлива следующая формула: . (1.4.1)

I частный случай. Функция - функция одного переменного. Здесь следует положить , тогда . Для относительных погрешностей все аналогично:

.

II частный случай. Функция - неявная. Этот случай отличается от исходного только формулой для нахождения частных производных:

1.5. Особенности машинной арифметики

Причиной появления вычислительных погрешностей является способ представления чисел на ЭВМ. В привычной нам десятичной системе счисления вещественное число представляется последовательностью символов, начиная со знака , и продолжается цепочкой десятичных цифр , то есть

Так как десятичная система счисления позиционная, то значение числа вычисляется так:

Все вычислительные машины работают в двоичной системе счисления. В ней то же число выглядит следующим образом:

.

По форме представления, способу хранения и реализации вычислительных операций на ЭВМ целые и вещественные числа существенно различаются.

Целые представляются так: , где - фиксированное число. Всего для хранения числа отводят разряда, в том числе один разряд на знак числа. Таким образом, обычно не слишком велико, например, для ЭВМ РС Тогда

Арифметические операции сложения, вычитания и умножения производятся точно, если результат меньше или равен . Если же это не так, то ситуация не доводится до сведения пользователя, а результату присваивается некоторое значение меньшее абсолютной величины .

Вещественные числа представляются в форме с плавающей точкой, то есть в виде , где обычно - размерность мантиссы, - двоичный порядок. Порядок также записывается как двоичное целое число , на его хранение отводятся двоичных разрядов . Следует помнить, что на ЭВМ представимы не все числа, а лишь конечный набор рациональных чисел. Это – представимое множество данной вычислительной машины. Для всех остальных чисел возможно лишь их приближённое представление с ошибкой представления (ошибкой округления). Если округление производится усечением, то , если имеет место округление по дополнению, то , называется машинной точностью или машинным эпсилон.

Диапазон изменения чисел в ЭВМ ограничен. Если , то Если же , то

- 0 

0

Для ЭВМ РС диапазон представления вещественных чисел примерно равен: при этом

Экспериментальные результаты.

Задание № 1

Величина подъёмной силы крыла самолёта оценивается по формуле где — площадь проекции крыла на горизонтальную плоскость, — скорость натекания воздуха на крыло, — плотность атмосферы на заданной высоте, — угол атаки, отсчитываемый от направления нулевой подъёмной силы, — коэффициент, зависящий от формы крыла. Требуется вычислить при заданных значениях и заданных абсолютных или относительных значениях этих величин.

0.005

0.001

15

0.01

0.99

0.01

200

2

15

0.001

Обработка результатов эксперимента.

Задание 1

F = 44600.0

δF = 0.04

Вывод.

Были вычислены абсолютные и относительные погрешности различных величин, освоены навыки практически оценивать погрешности результата.

ПРИЛОЖЕНИЕ 1. код программы

package j.softwareconstruction.lab1; public class Main { public static void main(String[] args) { task1(); } private static int exponent(double a) { if (a < 0) a = -a; int exponent = 0; for(; a < 1; exponent--) a *= 10; for(; a > 9; exponent++) a /= 10; return exponent; } private static void task1() { System.out.println("Задание 1"); double c = 0.005; double dc = 0.001; double a = 15; double da = 0.01; double p = 0.99; double dp = 0.01; double v = 200; double Dv = 2; double S = 15; double dS = 0.001; double dv = Dv / Math.abs(v); double dF = dc + da + dp + 2 * dv + dS; int dFexp = exponent(dF); dF = Math.round((dF * Math.pow(10, -dFexp))) * Math.pow(10, dFexp); double F = c * a* p * v * v * S; int exp = exponent(F) + dFexp; F = Math.round((F * Math.pow(10, -exp))) * Math.pow(10, exp); System.out.println("\tF = " + F); System.out.println("\tδF = " + dF); } }