Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PSpePZ_ukr_2008_comp_1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.02 Mб
Скачать

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.

Розрахунок табличних значень функції виконується таким чином.

  1. Визначається відносна похибка обчислень функції y, виходячи з аналізу задачі та структури спецпроцесора. На практичному занятті y може бути задана викладачем.

  2. Обчислюється перша похідна функції y′ у точках початкового yпоч і кінцевого значення yкін табличного інтервалу. Визначається найбільше по модулеві з цих двох значень похідної. Позначимо значення функції в точці з найбільшої похідної через .

  3. Визначається крок розбивки аргументу x у табличному інтервалі.

(6.4)

де

  1. Визначається число розрядів nx двійкового коду аргументу в табличному інтервалі, відповідно до рівняння (5.4а)

  2. Визначається число розрядів ny двійкового представлення функції відповідно до рівняння (5.5а)

  3. Виконується обчислення табличних значень функції 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

  1. Маємо інтервал табличного зображення функції:

xпоч = 0; xкін = 1; yпоч = 1; yкін = 2.

  1. Обчислимо похідну функції в точках: yпоч, yкін :

, тоді

; .

Таким чином, і, отже .

  1. Визначимо крок розбивки відповідно до (6.4)

.

  1. Визначаємо число розрядів представлення аргументу – nx.

  1. Визначаємо число розрядів представлення функції – ny.

.

,

.

  1. Під час проектування спецпроцесора обчислюємо 210 інтервальниx значень функції з кроком x і точністю 10 розрядів.

В нашому випадку при обчисленні yін скористуємось калькулятором, задаючи nx – розрядний аргумент і знімаючи ny – розрядний результат.

Приклад процедури обчислення показникової функції.

  1. Виділяємо з аргументу відповідно до (6.2) k и xін.

x = 10.31; k = 10; xін = 0.01001111012  0.3110

  1. Знайдемо значення функції.

По калькулятору 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 = yy(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 = 

  1. Маємо інтервал табличного зображення функції:

Xпоч = 1; xкін = 2; yпоч = 0; yкін = 1.

  1. Обчислимо похідну функції в точках: yпоч, yкін:

, тоді

; .

Таким чином, і, отже .

  1. Визначимо крок розбивки відповідно до (6.8)

.

  1. Визначаємо число розрядів представлення аргументу - nx.

  1. Визначаємо число розрядів представлення функції – ny.

.

  1. Під час проектування спецпроцесора обчислюємо 211 інтервальниx значень функції з кроком x і точністю 10 розрядів.

В нашому випадку при обчисленні yін скористаємося калькулятором, задаючи nx – розрядний аргумент і знімаючи ny – розрядний результат.

Приклад процедури обчислення логарифмічної функції.

  1. Визначаємо значення “k”:

x = 10011110110.012 , xін = 1.001111011002  1.240210.

Тобто для попадання в табличний інтервал необхідно виконати зсув аргументу на 10 розрядів вправо по відношенню до розрядної сітки. Таким чином, k = 10.

  1. Знаходимо yін з таблиці (в нашому випадку по калькулятору)

yін = 0.0100111112 = 0.310610. Отже, відповідно до (6.7) маємо y = 10.3106.

Точне значення по калькулятору – y  = 10.3109.

Відносна похибка обчислення: y = 0.0003.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]