Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab№1_2012.doc
Скачиваний:
5
Добавлен:
23.04.2019
Размер:
421.89 Кб
Скачать

Приклад приведення виразу до аналітичного вигляду

Завдання

Вар.

Функція

Формула розкладу

Додаткові дані

30

x  ]9., 15.[

x = 0.05

  1. Згідно поставленого завдання, аналітичний вид математичної функцій, що буде обчислюватися, буде мати вигляд( для наочності обчислень беремо 5-6 членів ряду):

Обчисливши коефіцієнти при степенях, отримаємо:

2.На основі отриманого виразу обчислюємо еталонне значення функції на проміжку зміни х, fe(x).( При реалізації на мові С, тип змінної х та значення fe встановлюємо у float, double)

Обчислені значення fe заносимо у відповідний стовпець Таблиці 1.

3.Припустимо, мінімальне обчислене значення fe рівне -3,12457862438 , а максимальне 8,54781235.

Для обчислення значення функції f8 та f16 потрібно виконати узгодження з розрядністю обчислених коефіцієнтів, змінної х та результату.

3.1 Приведення коефіцієнтів та змінної х до формату з фіксованою комою довжиною 8 біт( для f8).

Згідно завдання х міняється в межах 9..15 а вираз 4х/5 відповідно —7,2..12, результат , згідно припущення, коливається в межах -3,12457862438..8,54781235. Отже для представлення х, коефіцієнтів та результату потрібно вибрати кількість розрядів для цілої частини та дробової частини з врахуванням того що їх загальна кількість 8.

Оскільки в нас результат є знаковим то 1 біт виділяється для ознаки знаку, ціла частина виразу 4х/5 коливається від 7 до 12 (0111 до 1100) а результату від 3 до 8 (0011 до 1000). Таким чином для кодування цілої частини змінної х, коефіцієнтів та результату необхідно 4 двійкові розряди. Отже для дробової частини залишається 3 розряди.

При використанні типів даних з рухомою комою не виникає проблеми з представленням чисел з великою кількістю чисел після коми( довгої дробової частини). При використанні форматів з фіксованою комою необхідно виконати переведення з числа у фіксований формат.

Для наших даних переведення виконується наступним чином:

  • Ціла частина виразу 4х/5, коефіцієнтів та результату переводиться в 2-ву систему числення ( згідно з правила переведення)- в даному випадку ціла частина всіх значень має займати 4 розряди, у разі малого числа виконується доповнення нулями.

Для х=9, 4х/5 =7,2 , ціла частина 7 рівна 111, доповнивши нулями отримаємо 0111

  • Дробова частина виразу 4х/5, коефіцієнтів та результатів переводиться у 2-ву систему числення ( згідно з правила переведення дробової частини)- в даному випадку дробова частина має займати не більше 3 розрядів.

Для х=9, 4х/5 =7,2 , дробова частина 0,2 рівна 001.

  • Таким чином число 7,2 в 2-вій системі числення у форматі з фіксованою комою ( 8 біт) рівна 0111.001 а враховуючи що в нас знакові дані то 00111.001.

  • Оскільки засоби мови С не мають можливості працювати з форматами з фіксованою комою то приходиться додатково проводити перерахунок чисел з одного формату в інший. Тобто якщо результат 00111.001 перевести в 10- ву систему числення то отримаємо +7,125. Тобто число 7,2 неможливо точно представити у форматі з фіксованою комою(8 біт), виникає похибка.

Відповідно до цього замість 7,2 для обчислення результату у форматі з фіксованою комою будемо використовувати 7,125.( така сама процедура виконується для всіх коефіцієнтів розкладу та значень виразу 4х/5 для всіх х). Крім того у виразі містяться операції множення, піднесення до степеня та додавання, тому необхідно виконувати переведення у фіксований формат кожного проміжного результату, з врахуванням того,що ми зафіксували кількість біт на цілу частину 4 біти, на дробову 3 і на знак 1. Можлива ситуація коли всі змінні та коефіцієнті додатні тоді знаковий розряд можна відкинути і використовувати всі 8 розрядів для представлення цілої та дробової частини. У випадках коли всі змінні та результати не містять цілої частини то для її представлення немаж потреби виділяти біти і всі 8 біт виділяються для представлення дробової частини та знаку.

  • Використовуючи перевід у фіксований формат( 8 біт) обчислюємо значення виразу f8 для всіх значень х із заданого проміжку.

Результати обчислень заносимо в таблицю 1 у відповідний стовпець.

3.2 Приведення коефіцієнтів та змінної х до формату з фіксованою комою довжиною 16 біт( для f16).

Згідно завдання х міняється в межах 9..15 а вираз 4х/5 відповідно —7,2..12, результат , згідно припущення, коливається в межах -3,12457862438..8,54781235. Отже для представлення х, коефіцієнтів та результату потрібно вибрати кількість розрядів для цілої частини та дробової частини з врахуванням того що їх загальна кількість 16.

Оскільки в нас результат є знаковим то 1 біт виділяється для ознаки знаку, ціла частина виразу 4х/5 коливається від 7 до 12 (0111 до 1100) а результату від 3 до 8 (0011 до 1000). Таким чином для кодування цілої частини змінної х, коефіцієнтів та результату необхідно 4 двійкові розряди. Отже для дробової частини залишається 16-1-4=11 розрядів.

При використанні типів даних з рухомою комою не виникає проблеми з представленням чисел з великою кількістю чисел після коми( довгої дробової частини). При використанні форматів з фіксованою комою необхідно виконати переведення з числа у фіксований формат.

Для наших даних переведення виконується наступним чином:

  • Ціла частина виразу 4х/5, коефіцієнтів та результату переводиться в 2-ву систему числення ( згідно з правила переведення)- в даному випадку ціла частина всіх значень має займати 4 розряди, у разі малого числа виконується доповнення нулями.

Для х=9, 4х/5 =7,2 , ціла частина 7 рівна 111, доповнивши нулями отримаємо 0111

  • Дробова частина виразу 4х/5, коефіцієнтів та результатів переводиться у 2-ву систему числення ( згідно з правила переведення дробової частини)- в даному випадку дробова частина має займати не більше 11 розрядів.

Для х=9, 4х/5 =7,2 , дробова частина 0,2 рівна 00110011001.

  • Таким чином число 7,2 в 2-вій системі числення у форматі з фіксованою комою ( 16 біт) рівна 0111.00110011001 а враховуючи що в нас знакові дані то 00111.00110011001.

  • Оскільки засоби мови С не мають можливості працювати з форматами з фіксованою комою то приходиться додатково проводити перерахунок чисел з одного формату в інший. Тобто якщо результат 00111.001 перевести в 10- ву систему числення то отримаємо +7,19970703125. Тобто число 7,2 неможливо точно представити у форматі з фіксованою комою(16 біт), виникає похибка, але в порівнянні з 8-ми бітним представленням похибка суттєво менша.

Відповідно до цього замість 7,2 для обчислення результату у форматі з фіксованою комою будемо використовувати 7,19970703125.( така сама процедура виконується для всіх коефіцієнтів розкладу та значень виразу 4х/5 для всіх х). Крім того у виразі містяться операції множення, піднесення до степеня та додавання, тому необхідно виконувати переведення у фіксований формат кожного проміжного результату, з врахуванням того,що ми зафіксували кількість біт на цілу частину 4 біти, на дробову 3 і на знак 1. Можлива ситуація коли всі змінні та коефіцієнті додатні тоді знаковий розряд можна відкинути і використовувати всі 8 розрядів для представлення цілої та дробової частини. У випадках коли всі змінні та результати не містять цілої частини то для її представлення немає потреби виділяти біти і всі 16 біт виділяються для представлення дробової частини та знаку.

  • Використовуючи перевід у фіксований формат( 16 біт) обчислюємо значення виразу для всіх значень х із заданого проміжку.

  1. Після обчислення всіх значень fe f8 f16 виконуємо обчислення абсолютної та відносної похибки проведених обчислень для всіх значень х з заданого діапазону .

  2. На основі проведених розрахунків похибок вивести відповідні графіки.

Схема обчислень для режиму з фіксованою крапкою повинна базуватись на перетворенні у фіксований формат( перетворення у двійкову систему – перетворення назад в десяткову) при кожній операції множення та додавання, а програмно має здійснюватись за допомогою спеціально розроблених функцій.

Таблиця коефіціентів Бернулі

Коефіціенти від непарних n (крім n=1) рівні 0.

Таблиця коефіціентів Ейлера

n E(n)

1 1

2 1

3 1

4 1

5 4

6 1

7 1

8 11

9 11

10 1

11 1

12 26

13 66

14 26

15 1

16 1

17 57

18 302

19 302

20 57

21 1

22 1

23 120

24 1191

25 2416

26 1191

27 120

28 1

29 1

30 247

31 4293

32 15619

33 15619

34 4293

35 247

36 1

37 1

38 502

39 14608

40 88234

41 156190

42 88234

43 14608

44 502

45 1

46 1

47 1013

48 47840

49 455192

50 1310354

51 1310354

52 455192

53 47840

54 1013

13

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