
- •Кафедра Iнформатики
- •«Наука вся - лишь море заблуждений, где нету дна, а правды нет и тени»
- •«Складні проблеми завжди мають прості, легкі для розуміння невірні розв'язання» (закон Гросмана) Формалізація алгоритму
- •«Ускладнювати просто. Спрощувати складно» (закон Мейера) Алгоритмічні системи
- •... Sk0 skj1 skj2 ... Qi sjk ... Skjr-1 skjr sk0 ..., k[1;n]
- •Відлагодження алгоритму
- •«Якщо факти не підтверджують теорію, то їх треба позбутися» (Закон Майєрса) Етапи розв’язання задач на комп’ютері
- •Математична модель
- •Інформаційна модель
- •«Перед тим, як увійти, подумай, як вийти» (Китайське прислів'я) Техноогії проектування алгоритмів
- •«Створіть систему, якою зможе скористатися навіть дурень, і тільки дурень захоче нею користуватися»
- •(Принцип Шоу)
- •Блок-схема алгоритму лінійної структури
- •Алгоритм розгалуженої структури
- •Блок-схема алгоритму розгалуженої структури
- •Алгоритми циклічної структури
- •Алгоритм циклічної структури (параметр циклу змінюється з кроком у заданому сегменті)
- •Блок-схема алгоритму циклічної структури (параметр циклу змінюється з кроком у заданому сегменті)
- •Алгоритм циклічної структури (параметр циклу є елементом масиву)
- •Блок-схема алгоритму циклічної структури (параметр циклу є елементом масиву)
- •Алгоритм складної циклічної структури
- •Блок-схема алгоритму складної циклічної структури
- •Алгоритм обліку суми і добутку
- •Блок-схема алгоритму обліку суми і добутку
- •Алгоритм пошуку мінімуму і максимуму
- •Блок-схема алгоритму пошуку мінімуму і максимуму
- •Алгоритми сортування наданих
- •«Маленька практика краща за велику теорію» (закон Букера)
- •Алгоритми розв’язання інженерних задач
- •Ізоляція кореня
- •Уточнення значення кореня
- •Блок-схема алгоритму методу хорд
- •Початок циклу
- •Кінець циклу
- •Алгоритм розв’язання системи лінійних рівнянь
- •1. Прямий хiд
- •2. Зворотній хiд
- •Блок-схема алгоритму методу Гауса
- •Алгоритми розв’язання диференціального рівняння
- •Алгоритми до методу Эйлера
- •Алгоритми до методу Рунге - Кутта
- •Блок-схеми алгоритмів розв’язання диференціальних рівнянь першого порядку
- •Блок-схеми алгоритмів розв’язання диференціальних рівнянь другого порядку
- •Алгоритм обліку визначеного інтегралу
- •Алгоритм до методу Ньютона - Котеса
- •Блок-схема алгоритму обліку визначеного інтегралу методом Ньютона - Котеса Функція «Інтеграл»
- •Алгоритми апроксимації і інтерполяції функції
- •Алгоритм до методу інтерполяції поліномами Лагранжа
- •Алгоритм до методу апроксимації та інтерполяції в-сплайнами
- •Блок-схеми алгоритмів інтерполяції і апроксимації функції
- •Алгоритм статистичної обробки результатів експерименту
- •Перспективи розвитку теорії алгоритмів «Як тільки теорія стає зрозумілою всім, її пора змінювати» (закон Джексо на)
Блок-схема алгоритму обліку визначеного інтегралу методом Ньютона - Котеса Функція «Інтеграл»
1
2
2
1
3
3
4
4
5
Ні
5
Так
6
Мал. 26
Алгоритми апроксимації і інтерполяції функції
Інтерполяція функції Y(X), яку задано координатами вузлів {Yi (Xi)}n+1 (i[0; n]) полягає в обліку значення Y(X) по довільному значенні X, яке знаходяться між абсцисами {Xi}n+1 вузлів.
Для отримання однозначного розв’язання цієї проблеми під час інтерполяції функція Y(X) замінюється інтерполяційним поліномом:
P (X) = A0 + A1 • X + ... + An • Xn ,
значення якого P (Xi) у вузлах точно співпадають з Yi (Xi).
Апроксимація функції Y(X) полягає у побудуванні гладкої кривої згідно заданих пар координат вузлів {Yi(Xi)}n+1 (i[1; n]).
Алгоритм до методу інтерполяції поліномами Лагранжа
Найбільш поширеним методом інтерполяції таблично заданих функцій при довільному розташуванні вузлів є метод інтерполяції поліномами Лагранжа. Метод передбачає облік Y (Xs) у довільній точці Xs, яка належить до сегменту [Xi min; Xi max], за формулою:
n n (Xs - Xj)
Y (Xs) = (Yj • ), i j.
j=0 i=0 (Xj - Xi)
Алгоритм до методу апроксимації та інтерполяції в-сплайнами
Універсальним і найбільш поширеним методом апроксимації таблично заданих функцій при довільному розташуванні вузлів є метод В-сплайнів.
В-сплайн - це група кубічних багаточленів, у місцях сполучення яких перша і друга похідні безперервні. Для їх побудування необхідно задати коефіцієнти, що однозначно визначають багаточлен у проміжку між наданими точками. Згідно методу В-сплайнів із заданої послідовності вузлів обираються два сусідніх вузли і між ними будується крива кубічного поліному на основі позицій чотирьох вузлів - двох вже згаданих і двох сусідніх.
Якщо використати параметричне уявлення кривих, то ябиякі точки між заданими послідовними точками P i Q будуть мати координати Xt i Yt, де t зростає від 0 до 1:
Xt = ((a3 · t + a2) · t + a1) · t + a0
Yt = ((b3 · t + b2) · t + b1) · t + b0,
, причому:
a0 = ( xi-1 + 4 · xi + xi+1) / 6 b0 = ( yi-1 + 4 · yi + yi+1) / 6
a1 = (-xi-1 + xi+1) / 2 b1 = (-yi-1 + yi+1) / 2
a2 = ( xi-1 - 2 · xi + xi+1) / 2 b2 = ( yi-1 - 2 · yi + yi+1) / 2
a3 = (-xi-1 + 3 · xi - 3 · xi+1 + xi+2) / 6 b3 = (-yi-1 + 3 · yi - 3 · yi+1 + yi+2) / 6.
Приклад побудованого В-сплайну для множини точок наведено на мал. 27.
Для інтерполяції таблично заданої (дискретної) функції у точці Xs достатньо під час обліку (Xt, Yt) змінювати параметр t із кроком ( - точність інтерполяції); тоді, якщо |Xs - Xt| <= , то точка Yt співпадає із точкою Ys із похибкою .
Блок-схеми алгоритмів до методів інтерполяції і апроксимації наведено на мал. 28.