Материал: ОтчетЛР1

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Национальный исследовательский университет

«Московский энергетический институт»

Кафедра математического моделирования

ЛАБОРАТОРНАЯ РАБОТА 1

ПРИБЛИЖЕНИЕ ФУНКЦИЙ

Группа:

Студент:

Преподаватель: Казенкин К.О.

Задача:1.1, 1.2; вариант 27

Москва, 2016

Задача 1.1

1. Постановка задачи

Исследуйте поведение погрешности формулы численного дифференцирования

при уменьшении величины h.

Дана функция на отрезке [0.5,8.9]

2. Теоретический материал

Как известно, по определению производная функции есть предел отношения

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

Пусть приближенное значение функции , вычисленное по формуле с определенным шагом h, а – точное значение производной в точке x.

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

∆=

3. Решение задачи

1) Производная функции равна . В заданной точке С = 4.7 значение . График исходной функции:

График производной:

2) Возьмём первоначальный шаг дифференцирования . Затем вычислим массив приближенныx значений производных в точке С, уменьшая последовательно в 10 раз первоначальный шаг дифференцирования : , k=0,…15.

3) Вычислим массив погрешностей

Составим таблицу результатов вычислений:

погрешность

количество верных цифр результата

0.1

0.4031948630060267

0.004

2

0.01

0.40670755221507976

0.0004

3

0.001

0.40706308920546164

4-5

4

10-4

0.4070986861348658

4-6

5

10-5

0.4071022462248663

4-7

6

10-6

0.40710260185150554

4-8

7

10-7

0.40710263604637476

6-9

8

10-8

0.40710261828280636

3-8

7

10-9

0.40710235182928045

3-7

6

10-10

0.40710101956165085

2-6

5

10-11

0.40705216974856734

6-5

4

10-12

0.40678571622265736

4-4

3

10-13

0.404121180963557

3-3

2

10-14

0.35527136788005004

0.052

1

10-15

0

0.407

0

Видно, что оптимальный результат получается при выборе приращения h=10-7. При этом формула позволяет получить ответ с 8 верными цифрами. Вычисления при h=10-15 привели к 0 в результате из-за того, что h< *10-15 , из чего следует, что x+h в машинном представлении становится равным x, и разность , а следовательно и вся производная принимает значение 0.

4. Листинг программы

Задача 1.2

1. Постановка задачи

Для пакета MATHCAD найти значения машинного нуля, машинной бесконечности, машинного эпсилон.

2. Теоретический материал

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

.

Здесь - мантисса ; - двоичные цифры, причем всегда =1, p-целое число, называемое двоичным порядком. Количество t цифр, которое отводится для записи мантиссы, называется разрядностью мантиссы. Диапазон представления чисел в ЭВМ ограничен конечной разрядностью мантиссы и значением числа p. Все представимые числа на ЭВМ удовлетворяют неравенствам: , где , . Все числа, по модулю большие , не представимы на ЭВМ и рассматриваются как машинная бесконечность. Все числа, по модулю меньшие , для ЭВМ не отличаются от нуля и рассматриваются как машинный нуль. Машинным эпсилон называется относительная точность ЭВМ, то есть граница относительной погрешности представления чисел в ЭВМ. Покажем, что . Пусть , тогда граница абсолютной погрешности представления этого числа равна . Поскольку , то величина относительной погрешности представления оценивается так:

.

Машинное эпсилон определяется разрядностью мантиссы и способом округления чисел, реализованным на конкретной ЭВМ.

3. Порядок решения задачи

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

1. Положим , где n - первое натуральное число, при котором происходит переполнение.

Зададим функцию

Предположим, что n<10000

Вычислим в MATHCADе

Программа выдает ошибку вычисления, значит наше предположение верно. Уменьшим n в 2 раза и снова вычислим значение функции Max(5000). Вновь получаем ошибку

Перебирая значения, уменьшая n в 2 раза в итоге получаем что искомое число находится в диапазоне 625-1250, так как при n=1250 программа все еще выдает ошибку, а при n=625 значение функции было вычислено

Перебирая числа, кратные 100 из данного диапазона получим, что n лежит в диапазоне [1000,1100]

Затем во вновь полученном диапазоне аналогично переберем числа кратные 10 и получим диапазон [1010,1020] и перебрав все числа, получим, что n=1020

2. Положим , где m – первое натуральное число , при котором совпадает с нулем.

Решая задачу аналогично пункту 1, и взяв m=10000 и последовательно уменьшая диапазон, в котором находится m, получим, что m=1020

3. Положим , где k – наибольшее натуральное число, при котором сумма вычисленного значения 1+ еще больше 1. Фактически есть граница относительной погрешности представления числа .

Зададим функцию Eps(k)=

Примем k=1. Значение Eps(k)=1.5

Увеличивая k на 10 заметим, что значение функции Eps стремиться к 1. Чем ближе будет функция к 1, тем меньше будем делать шаг, на который увеличивается k до тех пор, пока не будем прибавлять по 1 и не получим значение Eps(k)=1

Результаты вычислительного эксперимента:

Машинная бесконечность 5.617791046444737*10^306

Машинный нуль 1.7800590868057613*10^-307

Машинное эпсилон 1.1102230246251565*10^-16

Источник: https://studfile.net/preview/16487690/