Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Додавання послідовних кодів старшими розрядами вперед у знакорозрядній системі числення




Додавання двох чисел, починаючи зі старших розрядів, базується на екстраполяції значення переносу в отриману цифру суми за умови розповсюдження переносу не більш ніж на два розряди. Подібна екстраполяція можлива внаслідок надлишковості ЗРСЧ.

Введемо позначення. Нехай потрібно обчислити суму C=A+B, де

Молодші значення індексу розрядної цифри відповідають старшим розрядам.

Додавання здійснюється за тактами. Номер такту позначатимемо верхнім індексом k. В процесі обчислювання індекс k змінюється в межах k = 1, 2, … n, n+1, n+2. Причому k = i + 2, отже i = - 1, 0, 1, 2, … , n.

Обчислення  виконується за правилом:

,                                                                      (1.4)

де                                           (1.5)

Початкові значення для рекурентного співвідношення (1.5) мають вигляд

Розглянемо приклад. Для перевірки правильності результату заздалегідь виконаємо паралельне додавання. Нехай

 

 

Зведемо додавання послідовних кодів до таблиці 1.3.

 

Таблиця 1.3

k i
1 -1 1 1 2 0
2 0 2 0
3 1 1 1 6 1
4 2 , 0, 3 1
5 3 0 1 0
6 4 ,
7 5 0
8 6
9 7
10 8 1 0
11 9 0 1 3 1
12 10 0 0 0
13 11 0 0
14 12 0 0 0 0

 

Результат додавання у табл. 1.3 співпадає з отриманим раніше результатом паралельного додавання. При знятті результатів обчислень положення крапки (коми) треба зсунути на два розряди в бік молодших розрядів.

Контрольні запитання та завдання

1. Які особливості знакоразрядной системи числення Ви знаєте?

2. Поясните правило перекладу чисел з двійкової системи числення в знакорозрядну.

3. Поясните правило перекладу чисел із знакорозрядної в двійкову систему числення.

4. Викладете особливості виконання арифметичних операцій для паралельних операндів в знакорозрядной системі числення.

5. Викладете особливості підсумовування послідовних операндів в знакорозрядной системі числення.

 



ОБЧИСЛЕННЯ ТРИГОНОМЕТРИЧНИХ ФУНКЦІЙ МЕТОДОМ ВОЛДЕРА

2.1 Мета заняття:

Вивчити основні етапи обчислень тригонометричних функцій методом Волдера при синхронній організації ітераційного процесу [2].

 

Методичні вказівки

Необхідно обчислити тригонометричні функції , , . Для обчислень  і  використовуються ітераційні рівняння

                                                           (2.1)

Для початку виконання ітераційного процесу необхідно задати початкові умови, які в даному випадку дорівнюють iпоч = 0; yпоч = 0; xпоч = 1/Cт; jпоч = j; xпоч = 1; iÎ{0, 1, 2, 3, … , n-1}

Тут Ст – коефіцієнт деформації, що треба обчислити для заданого числа n – кроків ітераційного процесу за таким співвідношенням:

 

Ст=                                                      (2.2)

 

При збільшенні числа кроків n ітераційного процесу зменшується відносна наведена похибка обчислень - d . В нашому випадку (2.1) при використанні двійкової системи числення:

 

d ≤ 2-n                                                                                (2.3)

Перед початком обчислень слід знайти константи arctg2-i і звести їх до таблиці.

Таблиця 2.1.

i 0 1 2 3 4 5 6 7 8 9
Arctg2-i 45 26,565 14,036 7,125 3,576 1,79 0,895 0,448 0,224 0,112

 

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

Перший етап. На першому етапі організується ітераційній процес для аргументу j і на цьому етапі обчислюються коефіцієнти xi Î {±1}. При цьому в процесі обчислень значення ji наближатиметься до нуля:

 

 

Розглянемо приклад: j0 = 30о; x0 = 1, iпоч = 0; n = 10.

При виконанні першого етапу доцільно зводити обчислення до таблиці 2.2:

 

Таблиця 2.2

i
0 1 j1 = 30 – 45 = –15 -1
1 -1 j2 = –15 + 26.565 = 11.565  1
2 1 j3 = 11.565 – 14.036 = –2.471  -1
3 -1 j4 = –2.471 + 7.125 =  4.654 1
4 1 j5 = 4.654 – 3.576 = 1.078 1
5 1 j6 = 1.078 – 1.790 = –0.712 -1
6 -1 j7 = –0.712 + 0.895 = 0.183  1
7 1 j8 = 0.183 – 0.448 = –0.265 -1
8 -1 j9 = –0.265 + 0.224 = –0.0410 -1
9 -1 j10 = –0.0410 + 0.112 = 0.0710 1

 

Вибір значення функції на другому етапі здійснюється за номером рядка, в якому на першому етапі було отримано найкраще наближення, в нашому випадку, до нуля.

 

Другий етап.

На другому етапі здійснюється обчислення функцій , . Для побудови ітераційного процесу використовуються коефіцієнтиxi, які були обчислені на першому етапі. При обчисленні другого етапу доцільно результати зводити до таблиці 2.3. Згідно з (2.2) обчислимо

 

Ст=1.647 при n=10.

 

Задамо початкові умови: xпоч = 1/Ст = 0.6073, yпоч = 0.

 


Таблиця 2.3.

 

i
0 1 y1 = 0 + 0.6073·1 = 0.6073 x1 = 0.6073 – 1·0·1 = 0.6073
1 -1 y2 = 0.6073 – 0.6073/2 = 0.3037 x2 = 0.6073 + 0.6073/2 = 0.911
2 1 y3 = 0.3037 + 0.911/4 = 0.5315 x3 = 0.911 – 0.3037/4 = 0.8351
3 -1 y4 = 0.5315 – 0.8351/8 = 0.4271 x4 = 0.8351 + 0.5315/8 = 0.9015
4 1 y5 = 0.4271 + 0.9015/16 = 0.4834 x5 = 0.9015 – 0.4271/16 = 0.8748
5 1 y6 = 0.4834 + 0.8748/32 = 0.5107 x6 = 0.8748 – 0.4834/32 = 0.8597
6 -1 y7 = 0.5107 – 0.8597/64 = 0.4973 x7 = 0.8597 + 0.5107/64 = 0.8677
7 1 y8 = 0.4973 + 0.8677/128 = 0.5041 x8 = 0.8677 – 0.4973/128 = 0.8638
8 -1 y9 = 0.5041 – 0.8638/256 = 0.5007 x9 = 0.8638 + 0.5041/256 = 0.8658
9 -1 y10 = 0.5007 – 0.8658/512= 0.499 x10 = 0.8658 + 0.5007/512 = 0.8668

 

Відповідно до результатів обчислень, що наведені у таблиці 2.2, слід результат обчислень у таблиці 2.3 вибирати по рядку i = 8, тому що на цьому рядку обчислень першого етапу було отримано найкраще наближення до нуля. Таким чином, маємо розрахункові значення , . Значення за калькулятором y = 0.5; x = 0.866. Абсолютна похибка обчислень:

, .

 

Для обчислення функції  використовуються ітераційні рівняння:

                                                           (2.4)

Як вхідні дані виберемо значенняy = 0.5, x = 0.866, які обчислені за калькулятором для попереднього прикладу. Знайдемо кут j, відповідає вибраним значеннямy і x. Для побудови ітераційного процесу запишемо початкові умови iпоч = 0; yпоч = 0.5; xпоч = 0.866; jпоч = 0; xпоч = 1; n = 10.

Перший етап. Всі обчислення зведемо до таблиці 2.4:

 

Таблиця 2.4

i
0 1 x1 = 0.866 + 0.5·1.0 = 1.366 y1 = 0. 5 – 0. 866 ·1.0 = –0.366 -1
1 -1 x2 = 1.366 + 0.366/2 = 1.549 y2 = –0.366 + 1.366/2 = 0.317 1
2 1 x3 = 1. 549 + 0.317/4 = 1.628 y3 = 0.317 – 1.549/4 = –0.0702 -1
3 -1 x4 = 1. 628 + 0.0702/8 = 1.637 y4 = –0.0702 + 1.628/8 = 0.133 1
4 1 x5 = 1. 637 + 0.133/16 = 1.645 y5 = 0.133 – 1.637/16 = 0.0307 1
5 1 x6 = 1. 645 + 0.0307/32 = 1.646 y6 = 0.0307 – 1.645/32 = –0.0207 -1
6 -1 x7 = 1. 646 + 0.0207/64 = 1.646 y7 = –0.0207 + 1.646/64 = 0.00502 1
7 1 x8 = 1.646 + 0.00502/128 = 1.646 y8 = 0.00502 – 1.646/128 = –0.00784 -1
8 -1 x9 = 1.646 + 0.00784/256 = 1.646 y9 = –0.00784 + 1.646/256 = –0.00141 -1
9 -1 x10 = 1.646 + 0.00141/512 = 1.646 y10 = –0.00141 + 1.646/512 = 0.00180 1

 

Другий етап. При обчисленні другого етапу скористаємось коефіцієнтами xi з таблиці 2.4. Результати обчислень зведемо до таблиці 2.5.

 

Таблиця 2.5

i
0 1 j1 = 0 + 45 = 45
1 -1 j2 = 45 – 26.565 = 18.435
2 1 j3 = 18.435 + 14.0362 = 32.4712
3 -1 j4 = 32.4712 – 7.125 = 25.3462
4 1 j5 = 25.3462 + 3.576 = 28.9222
5 1 j6 = 28.9222 + 1.790 = 30.7122
6 -1 j7 = 30.7122 – 0.895 = 29.8172
7 1 j8 = 29.8172 + 0.448 = 30.2652
8 -1 j9 = 30.2652 – 0.224 = 30.0412 
9 -1 j10 = 30.0412 – 0.112 = 29.9292

 

Відповідно до першого етапу результат слід вибирати на рядку i=8.

Результат розрахунковий j = 30.0412, за вхідними данними j = 30. Абсолютна похибка обчислень: Dj = |30 – 30.0412| = 0.0412.


Контрольні запитання та завдання

 

1. Навіщо в методі Волдера введений коефіцієнт деформації?

2. Чи можна при обчисленні тригонометричних функцій застосовувати асинхронний спосіб організації ітераційного процесу?

3. Які константи використовуються при обчисленні тригонометричних функцій?

4. Що таке початкові умови і поясните їх вибір на основі векторної моделі?










Последнее изменение этой страницы: 2018-04-12; просмотров: 301.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...