Остання редакція: 2019-05-13
Анотація
У роботі вирішується задача апроксимації множини точок (xi, yi,, zi), i = 1,2, .. N, отриманих в результаті експерименту, площиною, рівняння якої має вигляд φ(x,y) =Ax+By+C, так, щоб відхилення Δi= φ(xi,yi)-zi були б мінімальними.
Вихідні дані задаються у вигляді N - мірних векторів X,Y,Z, які містять відповідно x, y, z координати точок.
Близькість заданих точок і апроксимуючої функції φ(x,y) визначається критерієм апроксимації [1]. Таким критерієм може бути: рівність нулю алгебраїчної суми відхилень на всій множині заданих точок; мінімум суми квадратів відхилень для всіх точок; мінімум середнього значення всіх відхилень; абсолютна величина відхилень у всіх точках менше деякої заданої величини і ін.
Вибір методу розв'язання задачі залежить від прийнятого критерію апроксимації. В роботі реалізовані алгоритми вирішення задачі методом середніх і методом найменших квадратів.
Метод середніх [1] може бути застосований при виборі критерію апроксимації у вигляді рівності нулю алгебраїчної суми всіх відхилень. Алгоритм розв'язання задачі складається з наступних етапів: множина точок розбивається на три підмножини (за кількістю невідомих параметрів) з числом точок, рівним N/3; для кожного підмножини точок знаходиться сума відхилень і прирівнюється нулю; вирішується в символьному вигляді система трьох лінійних рівнянь з трьома невідомими A, B, C за допомогою блоку Given - Find.
Метод найменших квадратів [1-2] мінімізує суму квадратів відхилень для всіх заданих точок. Алгоритм розв'язання задачі складається з наступних етапів: задається критерій апроксимації у вигляді функції користувача, яка залежить від невідомих A, B, C; записується блок Given - Find. Тіло блоку складається з трьох рівнянь, ліва частина яких представляє собою частинну похідну функції користувача по одному з невідомих параметрів A, B, C, а права частина дорівнює нулю. Система вирішується в символьному вигляді.
Система Mathcad [1-3] має ряд вбудованих функцій, що реалізують алгоритми апроксимації. Для даної задачі може бути застосована функція багатовимірної регресії regress (Mxy, Z, n), так як математично рівняння площини являє собою многочлен першого ступеня від двох змінних. Алгоритм розв'язання задачі складається з наступних етапів: формується матриця Mxy розміру N*2, стовпці якої містять координати точок xi і yi; визначається вектор Va за допомогою функції regress (Mxy, Z, 1); визначаються параметри A, B, C, які є елементами вектора Va з четвертого по шостий рядок відповідно.
Для задачі мінімізації суми квадратів відхилень можна застосувати вбудовану функцію Minimize (W, A, B, C), що реалізує градієнтні методи оптимізації. Алгоритм розв'язання задачі містить наступні етапи: задається функція мети (критерій апроксимації) W(А,В,С) у вигляді функції користувача; задаються початкові наближення для невідомих A, B, C; визначається вектор невідомих за допомогою функції Minimize (W, A, B, C); обчислюється значення функції мети.
Результати апроксимації порівнюються по середньоквадратичному відхиленню і максимальним величинам відносних похибок.
Висновки:
1. Реалізовані алгоритми апроксимації заданих множин точок (N=9;10) площинами методом середніх, методом найменьших квадратів та за допомогою вбудованих функцій;
2. Результати апроксимації методом найменьших квадратів та вбудованими функціями співпадають і мають максимальну відносну похибку апроксимації меньшу 1%.
3. Результати апроксимації методом середніх показали невисоку точність апроксимації (максимальна відносна похибка більша 20%), що пояснюється недостатньою кількістю вихідних точок.
Ключові слова
Посилання
1. Половко А.М., Бутусов П.Н. Интерполяция. Методы и компьютерные технологии их реализации. – СПб.: БХВ – Петербург. 2004. – 320 с.
2. Ракитин В.И. Руководство по методам вычислений и приложения MATHCAD.- М.: ФИЗМАТЛИТ, 2005. – 264 с.
3. Дьяконов В. Mathcad 2000:учебный курс – СПб: Питер, 2000. – 592 с.
4. Сигорский В.П. Математический аппарат инженера. К., Техника, 1975, 766 с.