ках, тобто ставиться завдання про наближення (апроксимації) в області визначення y=f (x). Функцію y=F (x) називають апроксимуючої.
Апроксимація є окремим випадком інтерполяції і застосовується для визначення аналітичного вигляду функції, заданої таблично. Завдання апроксимації зводиться до визначення вільного параметра (параметрів) функції заданого виду, який забезпечить найкраще наближення функції, заданої таблично модельної аналітичною функцією.
Метод найменших квадратів
Нехай таблично задана функція. Визначити апроксимаційний многочлен виду:
(1)
Для визначення коефіцієнтів (де i=1,2 ... m) використовують апроксимацію методом найменших квадратів [3]. Функціонал знаходиться за формулою
,
де n - кількість пар значень аргументу xi і функції yi. Т.к. S повинен бути мінімальний, то перші приватні похідні від S по всіх коефіцієнтам полінома повинні дорівнювати нулю.
Обчислимо їх і прирівняємо до нуля:
(1)
Після перетворення система злегка спроститься:
(2)
Якщо поліном першого ступеня, то 2 рівняння, якщо шостого ступеня, то 7 рівнянь. Введемо наступні позначення:
З урахуванням цих позначень система (2) перепишеться таким чином:
(3)
Вирішивши цю систему одним з відомих методів визначиться ряд значень, за допомогою якого і будується многочлен (1).
Середньоквадратичне відхилення обчислюється за формулою:
1.3 Алгоритм рішення
апроксимація квадрат програмування поліном
1. Вводимо вихідні дані Xi і Yi з файлу.
. Обчислюємо коефіцієнти Т [посилання на теорію за методом], де
. Обчислюємо коефіцієнти С, де
4. Формуємо розширену матрицю системи рівнянь, тобто з системи:
з урахуванням введених позначень отримуємо систему:
.. Наводимо розширену матрицю системи рівнянь до трикутного вигляду (прямий хід методу Гаусса).
.Вичісляем коефіцієнти полінома (зворотний хід методу Гаусса).
.Виводім коефіцієнти полінома (залежно від ступеня полінома використовуємо масиви відповідної розмірності і присвоюємо елементам значення, отримані після рішення системи методом Гаусса).
. Обчислюємо середньоквадратичне відхилення, для цього обчислюємо значення функції за допомогою отриманого полінома, потім обчислюємо суму квадратів різниць експериментального значення функції і розрахованого за допомогою полінома і остаточне обчислюємо середньоквадратичне відхилення. Виводимо середньоквадратичне відхилення.
1.4 Блок-схема
2. Практична частина
.1 Рішення завдання в Delphi
У програмі будуть два інтерфейси (вікна). Перший, або головна форма, призначений для введення даних, розрахунку коефіцієнтів. Друга форма або підпорядкована, буде служити для відображення графіків, що обчислюється нами оберненої задачі.
На формі у нас 3 компоненти: TMemo, і 4 компоненти TButton (рис. 1).
Рис.1. Головна форма
Заходимо в інспектор об'єктів компонента TButton1, на властивості Caption пишемо: Завантажити дані raquo ;. Таким же чином міняємо властивість Caption на Виконати raquo ;, Графік і Вихід відповідно.
Створюємо другу форму. Кидаємо на форму компоненти: TPanel, TChart і TButton. Головна робоча компонента це TChart, в основному працюємо з нею. Клацніть два рази, відкриється наступне діалогове вікно (рис. 2).
Рис. 2. Компонента TChart
Далі натискаємо на кнопку Add ... створюємо нові лінії. У цьому завданню у нас 4 лінії: поліноми третього, п'ятого і сьомого ступеня, а також вихідні дані. Вихідні дані необхідні для порівняння, чи сильно спотворився наш графік.
Далі пишемо процедуру програми [Додатки].
2.2 Графічне представлення результатів
Знаходження коефіцієнтів апроксимуючих поліномів третього, п'ятого і сьомого ступеня (рис. 3).
Рис. 3. Виконання програми
Графічне представлення знаходження коефіцієнтів апроксимуючих поліномів (рис. 4).
Рис. 4. Графік функції поліномів і вихідних даних
Висн...