2.3. Похибки обмеження
Похибки обмеження визначаються тими числовими методами, які були використані для розв'язання задачі.
Наприклад, при обчисленні функції синуса за допомогою степеневого ряду:
(8)
неможливо використати всі члени ряду, оскільки ряд є нескінченним. Обчислення обмежуються скінченним числом членів. Наприклад, до х7 або х9. Відкинуті члени ряду (а їх число нескінченне) вносять деяку похибку в результат обчислень. Ця похибка називається похибкою обмеження, оскільки вона виникає внаслідок обмеження нескінченного математичного процесу.
Дуже багато процесів, що використовуються при обчисленнях, є нескінченними, так що аналіз похибок обмеження дуже важливий.
2.4. Похибки заокруглення
Навіть, якщо припустити, що початкова інформація не містить ніяких похибок, а всі обчислювальні процеси є скінченними і не приводять до похибок обмеження, то в і такому випадку присутній третій тип похибок – похибки заокруглення. Оскільки обчислювальні машини завжди працюють із скінченною кількістю значущих цифр, то потреба в заокругленні виникає досить часто.
Кожна із чотирьох арифметичних операцій дає в результаті число, яке можна представити у вигляді двох доданків:
. (9)
У даному випадку має t значущих цифр. Звичайне “заокруглення” означає, що з величиною проводять якусь дію, що залежить від величини . Дуже часто ніяка дія не виконується, тобто просто відкидається. Такий принцип реалізовано у багатьох трансляторах з ФОРТРАНу.
У такому випадку відносна похибка становитиме:
. 10)
Тобто при реалізації такого принципу максимальна похибка заокруглення дійсного числа не залежить від величини цього числа, а залежить тільки від кількості значущих цифр в комірці пам'яті ЕОМ. Частіше використовують так зване симетричне заокруглення:
. (11)
(12)
де має той самий знак, що й . Додавання відповідає додаванню одиниці до наймолодшого розряду, якщо відкинуте число починається з цифри 5 або більшої.
Максимально можлива відносна похибка для даного способу:
. (13)
3. Хід роботи
3.1. Дослідження похибок обчислення.
Для заданого варіанту дослідити вплив величини аргументу на результати обчислень функції sin(x) і cos(x) по степеневому ряду
11 |
-24…+19 -2…+3 |
14 |
0,2,3 |
DC S |
Результати обчислень:
Значення х [-24;19] |
Без нормування |
Нормування -PI - +PI |
Нормування -PI/2 - +PI/2 |
|||
Sin (real) |
Cos (double) |
Sin (real) |
Cos (double) |
Sin (real) |
Cos (double) |
|
-24 |
2439 |
6,07E-06 |
4,41E+00 |
-1,48E-04 |
-3,655 |
-1,85E-04 |
-20,69 |
-31003 |
2,99E-06 |
-1,30E-01 |
-2,48E-04 |
0,1527 |
-3,11E-04 |
-17,38 |
-19,97 |
2,41E-07 |
5,17E-02 |
-6,52E-04 |
6,90E-03 |
-8,15E-04 |
-14,08 |
-0,4304 |
2,38E-08 |
7,64E-04 |
1,15E-03 |
-1,97E-04 |
1,44E-03 |
-10,77 |
1,47E-02 |
1,96E-10 |
-1,22E-05 |
3,01E-04 |
1,22E-05 |
3,76E-04 |
-7,462 |
-1,01E-03 |
2,45E-12 |
-3,23E-05 |
1,67E-04 |
-100 |
-1,00E+02 |
-4,154 |
4,92E-05 |
2,10E-14 |
-2,81E-05 |
1,11E-04 |
-2,81E-05 |
8,32E-05 |
-0,8462 |
0 |
0 |
0,00E+00 |
0,00E+00 |
-100 |
-1,00E+02 |
2,462 |
2,84E-05 |
0 |
2,84E-05 |
0,00E+00 |
2,84E-05 |
-1,40E-05 |
5,769 |
3,27E-04 |
3,32E-13 |
1,15E-04 |
-3,91E-05 |
-100 |
-1,00E+02 |
9,077 |
-1,10E-03 |
-1,29E-12 |
1,57E-04 |
-2,51E-05 |
2,27E-04 |
-3,14E-05 |
12,38 |
-1,038 |
1,95E-10 |
7,09E-04 |
-2,55E-05 |
-100 |
-1,00E+02 |
15,69 |
-114,6 |
1,40E-09 |
9,67E-03 |
-2,17E-06 |
9,44E-03 |
-2,44E-06 |
19 |
-145,6 |
1,30E-07 |
-1,29E-03 |
3,15E-05 |
-100 |
-1,00E+02 |
Значення х [-3;2] |
Без нормування |
Нормування -PI - +PI |
Нормування -PI/2 - +PI/2 |
|||
Sin (real) |
Cos (double) |
Sin (real) |
Cos (double) |
Sin (real) |
Cos (double) |
|
-3 |
6,34E-05 |
1,12E-14 |
6,34E-05 |
1,12E-14 |
1,37E-04 |
-2,47E-06 |
-2,615 |
0 |
0 |
0 |
0 |
3,56E-05 |
-1,01E-05 |
-2,231 |
-1,51E-05 |
0 |
-1,51E-05 |
0 |
1,51E-05 |
-2,23E-05 |
-1,846 |
6,19E-06 |
0 |
6,19E-06 |
0 |
6,19E-06 |
-6,13E-05 |
-1,462 |
0 |
1,27E-14 |
0 |
1,27E-14 |
-100 |
-1,00E+02 |
-1,077 |
0 |
0 |
0 |
0 |
-100 |
-1,00E+02 |
-0,6923 |
0 |
0 |
0 |
0 |
-100 |
-1,00E+02 |
-0,3077 |
0 |
0 |
0 |
0 |
-100 |
-1,00E+02 |
7,69E-02 |
0 |
1,11E-14 |
0 |
1,11E-14 |
-100 |
-1,00E+02 |
0,4615 |
0 |
0 |
0 |
0 |
-100 |
-1,00E+02 |
0,8462 |
0 |
1,68E-14 |
0 |
1,68E-14 |
-100 |
-1,00E+02 |
1,231 |
-6,32E-06 |
0 |
-6,32E-06 |
0 |
-100 |
-1,00E+02 |
1,615 |
5,97E-06 |
-3,11E-14 |
5,97E-06 |
-3,11E-14 |
0 |
-3,88E-04 |
2 |
0 |
2,67E-14 |
0 |
2,67E-14 |
0 |
-3,79E-05 |
Для проміжку [-24;19]
Без нормування
Sin (Звичайна точність)
Cos (Подвійна точність)
Нормування -PI - +PI
Sin (Звичайна точність)
Cos (Подвійна точність)
Нормування -PI/2 - +PI/2
Sin (Звичайна точність)
Cos (Подвійна точність)
Для проміжку [-3;2]
Без нормування
Sin (Звичайна точність)
Cos (Подвійна точність)
Нормування -PI - +PI
Sin (Звичайна точність)
Cos (Подвійна точність)
Нормування -PI/2 - +PI/2
Sin (Звичайна точність)
Cos (Подвійна точність)
3.2. Дослідження похибок заокруглення.
Провести сумування елементів масиву. Дослідити вплив порядку сумування (без сортування, сортування по зростанню, сортування по спаданню) на величину похибки заокруглення.
N=12
ПРОСТЕ СУМУВАННЯ:
S= 141833000.00000000000 SD= 141832995.90803620000
СУМУВАННЯ ПО ЗРОСТАННЮ:
SMIN= 141833000.00000000000 SDMIN= 141832995.90803620000
СУМУВАННЯ ПО СПАДАННЮ:
SMAX= 141833000.00000000000 SDMAX= 141832995.90803620000
N=132
ПРОСТЕ СУМУВАННЯ:
S= 1305808000.0000000000 SD= 1305807828.8963000000
СУМУВАННЯ ПО ЗРОСТАННЮ:
SMIN= 1305808000.0000000000 SDMIN= 1305807828.8963000000
СУМУВАННЯ ПО СПАДАННЮ:
SMAX= 1305808000.0000000000 SDMAX= 1305807828.8963000000
N=901
ПРОСТЕ СУМУВАННЯ:
S= 9565391000.0000000000 SD= 9565395731.0803220000
СУМУВАННЯ ПО ЗРОСТАННЮ:
SMIN= 9565394000.0000000000 SDMIN= 9565395731.0803200000
СУМУВАННЯ ПО СПАДАННЮ:
SMAX= 9565387000.0000000000 SDMAX= 9565395731.0803150000