- •Методичні вказівки до практичних занять з дисципліни
- •1 Спеціальні системи числення
- •Мета заняття:
- •1.2. Методичні вказівки
- •Додавання послідовних кодів старшими розрядами вперед у знакорозрядній системі числення
- •1.3. Контрольні запитання та завдання
- •2 Обчислення тригонометричних функцій методом волдера
- •2.1 Мета заняття:
- •2.2 Методичні вказівки
- •4.3 Контрольні запитання та завдання
- •5 Таблично-алгоритмічний метод обчислення функцій
- •5.1. Мета заняття:
- •5.2. Методичні вказівки
- •5.3 Контрольні запитання та завдання
- •6 Обчислення показникової та логарифмічної функцій таблично-алгорітмичним методом
- •6.1 Мета заняття:
- •6.2. Методичні вказівки
- •Введемо позначки:
- •6.3 Контрольні запитання та завдання
- •Перелік посилань
- •7.091501 – Комп’ютерні системи та мережі Упорядники: гусятін Володимир Михайлович
- •61166, Харків, просп. Леніна, 14
5.3 Контрольні запитання та завдання
1. Перерахувати основні особливості функцій, для яких застосовується таблично-алгоритмічний метод.
2. Яким чином визначають початкове і кінцеве значення аргументу для інтервалу при розрахунку ступеневої функції?
3. Приведіть основні співвідношення для приведення аргументу до інтервальних значень і обчислення функції по її інтервальному значенню.
4. Поясните основні етапи обчислення ступеневої функції таблично-алгоритмічним методом?
6 Обчислення показникової та логарифмічної функцій таблично-алгорітмичним методом
6.1 Мета заняття:
Вивчити на прикладах обчислень показникової та логарифмічної функцій можливості таблично-алгоритмічного методу.
6.2. Методичні вказівки
Під час проектування спецпроцесорів обчислення показникової та логарифмічної функцій вводять як базові операції. Окрім цього, обчислення заданих функцій необхідне при використанні логарифмічної системи числення з метою скорочення часу виконання операцій множення, ділення та ін. Застосування таблично-алгоритмічного методу до показникової і логарифмічної функцій можливе з будь-якою основою “q”. Надалі розглядатимемо випадок q=2, як практично найбільш прийнятний.
6.2.1. Обчислення показникової функції. Нехай є показникова функція вигляду:
(6.1)
де х - дійсне число.
З (6.1) виходить, що зміна аргументу на “k” одиниць (k – ціле число) призводить до зміни функції у 2k рази. Покажемо це.
Введемо позначки:
(6.2)
де xін – значення аргументу на інтервалі задавання функції або інтервальне значення аргументу.
Тоді
(6.3)
де yін – інтервальне значення функції.
Таким чином, якщо зобразити функцію yін у табличній формі на деякому інтервалі з заданою відносною поxибкою, можливе обчислення функції y для області зміни аргументу, обмеженої тільки розрядною сіткою, з тією ж відносною поxибкою. При цьому з (6.3) слід, що для обчислення y виконується тільки операція зсуву.
Для показникової функції доцільно вибирати два інтервали табличного зображення функцій:
Xпоч = 0, xкін = 1 для х ≥ 0, де yпоч = 1; yкін = 2 і
xпоч = 0, xкін = -1 для х ≤ 0, де yпоч = 1; yкін= 0.5.
Розрахунок табличних значень функції виконується таким чином.
Визначається відносна похибка обчислень функції y, виходячи з аналізу задачі та структури спецпроцесора. На практичному занятті y може бути задана викладачем.
Обчислюється перша похідна функції y′ у точках початкового yпоч і кінцевого значення yкін табличного інтервалу. Визначається найбільше по модулеві з цих двох значень похідної. Позначимо значення функції в точці з найбільшої похідної через .
Визначається крок розбивки аргументу x у табличному інтервалі.
(6.4)
де
Визначається число розрядів nx двійкового коду аргументу в табличному інтервалі, відповідно до рівняння (5.4а)
Визначається число розрядів ny двійкового представлення функції відповідно до рівняння (5.5а)
Виконується обчислення табличних значень функції yін з кроком х для табличних значень аргументу. На практичних заняттях, як таблиця, може бути використаний калькулятор.
Процедура обчислення функції полягає ось в чому 7.
Виконується, якщо це необхідно, зведення аргументу x до інтервальних значень xін за допомогою співвідношення (6.2).
За значенням аргументу xін з таблиці вибирається значення функції yін, за яким відповідно до співвідношення (6.3) знаходиться значення функції y.
Остаточно сформулюємо правило обчислення показникової функції в двійковій системі числення.
Якщо значення аргументу знаходиться в інтервалі табличного зображення функції, x [ xпоч, xкін ), значення функції визначається з таблиці. В тих випадках, коли x [ xн, xк ), для дробової частини значення аргументу визначається відповідне до нього табличне значення функції, яке зсувається на “k” розрядів ліворуч, якщо x > 0 або на “k” розрядів праворуч, якщо x < 0.
Приклад проектування таблиці ПЗП для обчислювача показникової функції.
Нехай y = 210,31
Обчислення виконаємо з відносною точністю: y = 2-10 10-3
Маємо інтервал табличного зображення функції:
xпоч = 0; xкін = 1; yпоч = 1; yкін = 2.
Обчислимо похідну функції в точках: yпоч, yкін :
,
тоді
;
.
Таким
чином,
і, отже
.
Визначимо крок розбивки відповідно до (6.4)
.
Визначаємо число розрядів представлення аргументу – nx.
Визначаємо число розрядів представлення функції – ny.
.
,
.
Під час проектування спецпроцесора обчислюємо 210 інтервальниx значень функції з кроком x і точністю 10 розрядів.
В нашому випадку при обчисленні yін скористуємось калькулятором, задаючи nx – розрядний аргумент і знімаючи ny – розрядний результат.
Приклад процедури обчислення показникової функції.
Виділяємо з аргументу відповідно до (6.2) k и xін.
x = 10.31; k = 10; xін = 0.01001111012 0.3110
Знайдемо значення функції.
По калькулятору yін = 1.00111101012 = 1.2392610.
Тоді відповідно до (6.3) маємо
y = 210·1.00111101012 = 1001111010112 = 126910.
Точне значення по калькулятору – y = 1269.46.
Відносна похибка обчислення: y = 0.00039.
6.2.2 Обчислення логарифмічної функції.
Нехай є логарифмічна функція вигляду:
y=log2x (6.5)
де х – додатне число.
З (6.5.) виходить, що зміна аргументу в 2k рази (k – ціле додатне або від’ємне число), призводить до зміни цілої частини функції y на k одиниць.
Справді, нехай аргумент зображений у формі:
де xm – мантиса, k – порядок.
Після логарифмування цього виразу отримаємо:
(6.6)
Отже, якщо зобразити функцію в табличному вигляді на деякому інтервалі, на якому модуль значення функції менший за одиницю, то обчислення цього значення функції в усій області зміни аргументу можливе тільки за допомогою простиx операцій зсуву і вибірки з пам'яті.
Для логарифмічної функції доцільно вибрати два інтервали табличного зображення функції.
xпоч = 1, xкін = 2 для y ≥ 0, де yпоч = 0, yкін = 1
xпоч = 0.5, xкін = 1 для y ≤ 0, де yпоч = -1, yкін = 0.
Тоді (6.6) приймає вигляд:
|
(6.7) |
де
Розрахунок табличних значень функції виконується аналогічно тому, як це робиться для показникової функції. При цьому крок розбивки інтервалу визначаємо так:
(6.8)
де – значення функції в точці табличного інтервалу з найбільшою похідною.
Обчислення виконаємо з відносною приведеною похибкою y = 2–10. Наприклад, для інтервалу [1, 2) абсолютна похибка y приводиться до значення функції при x=2: y(2) = 1. Тоді
y = yy(2). (6.9)
Процедура обчислення функції в двійковій системі числення полягає ось в чому [7].
Нехай аргумент зображений двійковим nx – розрядним кодом. Можливі два випадки.
В першому значення аргументу знаходиться в інтервалі табличного зображення функції, x [ xн, xк ). В цьому випадку значення функції визначається з таблиці.
Другий випадок: x [ xн, xк ). Виконується зсув аргументу на k розрядів праворуч, якщо x > 2 і на k розрядів ліворуч, якщо x < 0.5. Після цього значущі розряди аргументу потрапляють до інтервалу табличного зображення функції, що дозволяє отримати табличне значення функції yін. Для отримання значення функції y до табличного значення функції слід приписати ліворуч від крапки число k з урахуванням знака, таким чином, що для x 2, k - додатне, а для x ≤ 0.5, k – від’ємне.
Приклад проектування таблиці ПЗП для обчислювача логарифмічної функції.
Нехай
.25,
δy=2-10.
Обчислення виконаємо з відносною приведеною похибкою y = 2–10. Для інтервалу [1, 2) згідно (6.9):
y =
Маємо інтервал табличного зображення функції:
Xпоч = 1; xкін = 2; yпоч = 0; yкін = 1.
Обчислимо похідну функції в точках: yпоч, yкін:
,
тоді
;
.
Таким
чином,
і, отже
.
Визначимо крок розбивки відповідно до (6.8)
.
Визначаємо число розрядів представлення аргументу - nx.
Визначаємо число розрядів представлення функції – ny.
.
Під час проектування спецпроцесора обчислюємо 211 інтервальниx значень функції з кроком x і точністю 10 розрядів.
В нашому випадку при обчисленні yін скористаємося калькулятором, задаючи nx – розрядний аргумент і знімаючи ny – розрядний результат.
Приклад процедури обчислення логарифмічної функції.
Визначаємо значення “k”:
x = 10011110110.012 , xін = 1.001111011002 1.240210.
Тобто для попадання в табличний інтервал необхідно виконати зсув аргументу на 10 розрядів вправо по відношенню до розрядної сітки. Таким чином, k = 10.
Знаходимо yін з таблиці (в нашому випадку по калькулятору)
yін = 0.0100111112 = 0.310610. Отже, відповідно до (6.7) маємо y = 10.3106.
Точне значення по калькулятору – y = 10.3109.
Відносна похибка обчислення: y = 0.0003.
