русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Ітераційні циклічні процеси ( 5.6 )


Дата додавання: 2014-11-28; переглядів: 1679.


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

Схему циклічного ітераційного процесу 5.6 зображено на рис. 5.15:

Розглянемо різні приклади циклічних обчислень.

Рис. 5.15. Схема ітераційного циклічного процесу 5.6

Приклад 1. Обчислити корінь р-го степеня х за ітераційною формулою:

уn+1 = (1/ р) [(p — 1)yn + x/ ynp-1 ],

де початкове значення у0 = х, а точність обчислень e = 0,001. Ідея таких обчислень міститься у тому, що, задаючи у0 , можна обчислити у1, потім у2 ... уn, уn+1 ... Цей процес можна виконувати нескінченно, але на якомусь кроці обчислень з’ясується, що різниця між двома сусідніми наближеннями стала меншою за e, отже, вона стає несуттєвою для цієї задачі, процес обчислень можна припинити і вважати останнє значення у саме шуканим. Таким чином, можна побудувати алгоритмічний процес обчислення кореня р-го степеня (рис. 5.16). Оскільки немає потреби зберігати усі послідовні значення у1 ... уi, yi+1 ..., то можна спростити ітераційну формулу, а саме

у1 = (1/ р) [(p — 1)y0 + x / y0p-1]

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

Для обчислення кожного елемента ряду використовується попередній член ряду та деякий коефіцієнт d, який можна визначити, поділивши (k + 1)-й елемент на k-й.

Рис. 5.16. Приклад 1 ітераційного циклічного алгоритму 5.6

Приклад 2.Обчислити з точністю до e значення функції еx, використовуючи її розклад у ряд:

;

.

Поточне значення доданка суми позначимо через p (рис. 5.17)

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

Рис. 5.17. Приклад 2 ітераційного циклічного алгоритму 5.6


<== попередня лекція | наступна лекція ==>
Прості циклічні процеси з параметром (5.5) | Складні циклічні процеси (5.7)


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн