Згладжування функцій за методом найменших квадратів

Автор: Пользователь скрыл имя, 25 Января 2012 в 23:44, курсовая работа

Описание работы

В даній курсовій роботі було розглянуто згладжування функцій методом найменших квадратів та розроблено програму для реалізації даного методу. Програма написана на мові C++ в програмному середовищі Borland C++ 3.1. У курсовій роботі приведений алгоритм розв’язання задачі та інструкція користувача. Програма протестована на працездатність та конкретним прикладом перевірена правильність результату.

Содержание

ВСТУП…………………………………………………………………………….…4
1 ТЕОРЕТИЧНІ ВІДОМОСТІ…………………………………………...……….....6
1.1 Область застосування задачі………………………………………......…7
1.2 Математичне обґрунтування задачі…………………………………..…8
2 РОЗРОБКА АЛГОРИТМУ РОБОТИ ОБЧИСЛЮВАЛЬНОЇ ЗАДАЧІ…….…..9
2.1 Розробка блок-схеми прямого ходу розв’язання СЛАР для згладжування функцій за методом найменших квадратів…………………..……9
3 РОЗРОБКА ПРОГРАМИ………………………………………………………....12
4 РОЗРОБКА ІНСТРУКТИВНИХ ДОКУМЕНТІВ ПО РОБОТІ З ПРОГРАМОЮ……………………………………………………………………....16
4.1 Тестовий приклад………………………………………………………..16
4.2 Оцінка ефективності розробленої програми…………………………..16
4.3 Використані технічні засоби…………………………….…….………..17
4.4 Інструкція користувачу…………………………….……………….…..17
ВИСНОВКИ…………………………………………………………………...… ..20
ПЕРЕЛІК ВИКОРИСТАНИХ ДЖЕРЕЛ………………………………….......... .21

Работа содержит 1 файл

курсова робота.doc

— 147.00 Кб (Скачать)

Міністерство  освіти і науки України

    Вінницький  національний технічний університет

    Інститут  автоматики, електроніки та комп’ютерних систем управління 

    Факультет ФЕЛТ

    Кафедра ЛОТ 

      ЗГЛАДЖУВАННЯ  ФУНКЦІЙ ЗА МЕТОДОМ  НАЙМЕНШИХ КВАДРАТІВ

Пояснювальна  записка

з дисципліни ”Обчислювальна техніка та програмування”

до курсової роботи за спеціальністю

“Лазерна  та оптоелектронна техніка ”

    08-36.ОТІП.008.00.011 ПЗ 
     

                  Керівник  курсової роботи

                                     к.т.н.     

                      __________________________                                                                                               

                  «____» _______________2009 р.

    Розробив: студент групи О - 08

                                                   

                  «____» _______________2009 р. 
                   
                   
                   

    Вінниця ВНТУ 2009

    Анотація

     В даній курсовій роботі було розглянуто згладжування функцій методом найменших квадратів та розроблено програму для реалізації даного методу. Програма написана на мові C++ в програмному середовищі Borland C++ 3.1. У курсовій роботі приведений алгоритм розв’язання задачі та інструкція користувача. Програма протестована на працездатність та конкретним прикладом перевірена правильність результату. 

Аннотация

  В данной курсовой работе было рассмотрено сглаживание функций методом наименьших квадратов и разработана программа для реализации данного метода. Программа написана на языке C++ в программной среде Borland C++ 3.1. В курсовой работе приведенный алгоритм решения задачи и инструкция пользователя. Программа протестирована на работоспособность и конкретным примером проверенная правильность результата. 

Annotation

   In this term paper, smoothing out of functions was considered a least-squares method and the program is developed for realization of this method. The program is written in language of C++ in the software environment of Borland C++ 3.1. There is the resulted algorithm of decision of task and instruction of user in a term paper. The program is tested on a capacity and by a concrete example the tested rightness of result. 
 
 
 
 
 

ЗМІСТ

ВСТУП…………………………………………………………………………….…4

1 ТЕОРЕТИЧНІ ВІДОМОСТІ…………………………………………...……….....6

      1.1 Область застосування задачі………………………………………......…7

      1.2 Математичне обґрунтування задачі…………………………………..…8

2 РОЗРОБКА АЛГОРИТМУ РОБОТИ ОБЧИСЛЮВАЛЬНОЇ ЗАДАЧІ…….…..9

     2.1 Розробка блок-схеми прямого ходу  розв’язання СЛАР для згладжування функцій за методом найменших квадратів…………………..……9

3 РОЗРОБКА ПРОГРАМИ………………………………………………………....12

4 РОЗРОБКА ІНСТРУКТИВНИХ ДОКУМЕНТІВ ПО РОБОТІ З ПРОГРАМОЮ……………………………………………………………………....16

     4.1 Тестовий приклад………………………………………………………..16

     4.2 Оцінка ефективності розробленої програми…………………………..16

     4.3 Використані технічні засоби…………………………….…….………..17

     4.4 Інструкція користувачу…………………………….……………….…..17

ВИСНОВКИ…………………………………………………………………...… ..20

ПЕРЕЛІК ВИКОРИСТАНИХ ДЖЕРЕЛ………………………………….......... .21 
 
 
 
 
 
 
 
 
 

                                                    ВСТУП

      

     Як  відомо, між величинами може існувати точний (функціональний) зв'язок, коли одному значенню аргументу відповідає одне певне значення, і менш точний (кореляційний) зв'язок, коли одному конкретному значенню аргументу відповідає наближене значення або деяка безліч значень функції, в тій або іншій мірі близьких один до одного. При веденні наукових досліджень, обробці результатів спостереження або експерименту зазвичай доводитися стикатися з другим варіантом. При вивченні кількісних залежностей різних показників, значення яких визначаються емпірично, як правило, є деяка їх вариабельность. Частково вона задається неоднорідністю самих об'єктів, що вивчаються, неживої і, особливо, живої природи, частково обумовлюються погрішністю спостереження і кількісній обробці матеріалів. Останню складову не завжди удається виключити повністю, можна лише мінімізувати її ретельним вибором адекватного методу дослідження і акуратністю роботи. Тому при виконанні будь-якої науково-дослідної роботи виникає проблема виявлення справжнього характеру залежності показників, що вивчаються, цій або іншій мірі замаскованих неврахованістю вариабельності значень.    Для цього і застосовується згладжування функцій - наближений опис кореляційної залежності змінних відповідним рівнянням функціональної залежності, передавальним основну тенденцію залежності (або її "тренд").

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

     1 ТЕОРЕТИЧНІ ВІДОМОСТІ 

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

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

     Після проведення достатньої кількості таких  операцій отримується 

     Якщо  з досліду визначаються значення деяких функцій невідомих величин , то для визначення цих величин необхідно вирішити систему умовних рівнянь:

  

     Ця  система, взагалі кажучи, несумісна (при ), і для невідомих величин шукаються найбільш ймовірні значення.

     Якщо  похибки величин  мають нормальний закон розподілу (що зазвичай припускається), то для найбільш ймовірної системи значень невідомих сума квадратів відхилень буде найменшою. Умовні рівняння лінійні:

    (1.1)

     В теорії ймовірності та математичній статистиці для позначення підсумовування часто користуються позначеннями Гаусса: замість , замість , і.т.д..

     Наведена  вище система умовних лінійних рівнянь (1.1), та вимоги мінімуму суми квадратів відхилень приводять до системи нормальних рівнянь (наведено у позначеннях Гаусса):

   (1.2)

     Для отримання  -ого нормального рівняння необхідно кожне умовне рівняння помножити на коефіцієнт при і знайти суму всіх отриманих рівнянь.

     У випадку нелінійних залежностей  зазвичай знаходять грубо приближені значення шуканих величин і розкладають в ряд по степенях .

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

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

    1.   Область застосування  задачі
 

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

    1.2 Математичне обґрунтування задачі 

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

     Вихідними даними розробленої програми є набір коефіцієнтів при параболічній інтерполяції вигляду .

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

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

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

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

2 РОЗРОБКА АЛГОРИТМУ  РОБОТИ ОБЧИСЛЮВАЛЬНОЇ  ЗАДАЧІ 

2.1 Розробка блок-схеми  прямого ходу розв’язання  СЛАР для згладжування  функцій за методом  найменших квадратів 

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

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

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

 
 
 
 

Рисунок 1.1 – Схема роботи алгоритму згладжування функції 

          3 РОЗРОБКА ПРОГРАМИ

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

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

Информация о работе Згладжування функцій за методом найменших квадратів