Автор: Пользователь скрыл имя, 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
Процесом згладжування буде параболічна інтерполяція, тобто в якості інтерполюючої функції береться многочлен
void solve() {
FILE *in;
boolean isBreak=false;
int oldColor=getcolor();
int i,j,k,t,res;
if
((in=fopen("DATA.TXT","rt"))==
fprintf(stderr, "Cannot open input file.\n");
} else {
cleardevice();
fscanf(in,"%d",&N)
points=new point[N];
for (i=0;i<N;i++) {
fscanf(in,"%
showPixel(i)
}
for (i=0;i<N;i++)
for (j=0;j<N;j++)
for (k=0;k<N;k++)
for (t=0;t<N;t++) {
}
// delete points;
int tmp,tmp2;
for (tmp=0;tmp<N;tmp++) {
showPi
if (tmp!=0) {
}
}
getch();
if (count1>0) {
setcol
for (tmp=0;tmp<count1;tmp++)
getch(
} else {
settex
setcol
getch(
}
cleardevice(
for (tmp=0;tmp<N;tmp++) showPixel(tmp);
if (count2>0) {
setcol
for (tmp=0;tmp<count2;tmp++)
getch(
} else {
settex
setcol
getch(
cleard
for (tmp=0;tmp<N;tmp++) showPixel(tmp);
}
cleardevice(
for (tmp=0;tmp<N;tmp++) showPixel(tmp);
if (count1>0) {
long sq=0;
for (tmp=0;tmp<count1;tmp++) sq+=square(tmp);
if (count1!=0) sq/=count1;
int bl=0;
setcol
for (tmp=1;tmp<count1;tmp++)
draw(
getch(
}
setcolor(oldColor);
fclose(in);
}
}
4
РОЗРОБКА ІНСТРУКТИВНИХ
ДОКУМЕНТІВ ПО
РОБОТІ З ПРОГРАМОЮ
4.1
Тестовий приклад
Для тестування розробленої програми задамо вхідними даними набір наступний точок:
1 1
2 -10
10 20
18 9
Дана послідовність задає функцію, що має зубчату форму. Програма згладила задану функцію і отримала іншу функцію, що є параболічною інтерполяцією заданої та відхиляється від неї з досить малою похибкою.
Це
свідчить про вірність підходу до
поставленої задачі і вірність програмної
реалізації згладжування функції за
допомогою методу найменших квадратів.
4.2
Оцінка ефективності
розробленої програми
Програма призначені для розв’язання заданого інтегралу та розроблена в середовищі Borland C++ 3.1 за допомогою власних функцій.
Ефективність функціонування програми підвищена за рахунок наступних засобів:
Вимоги до ЕОМ для використання даної програми:
Отже,
програма може використовуватись для
вирішення задач такого типу .
4.3
Використані технічні
засоби
Для
написання програми використовувалась
програмне середовище Borland C++ версії 3.1.
Скомпільована програма вимагає наявності
середовища Windows чи DOS, проте не потребує
великих системних ресурсів. Щоб забезпечити
нормальне функціонування програми, необхідна
наявність в робочому каталозі, звідки
виконується завантаження програми, файлів
egavga.bgi (для забезпечення роботи у графічному
режимі) та keyrus.com (для підтримки відображення
українських літер у графічному режимі).
Результати програми виводяться на монітор,
що не потребує додаткових ресурсів пам’яті.
4.4
Інструкція користувачу
Для роботи програми потрібні наступні файли :
Виконання програми складається з таких етапів :
Програма має інтуїтивно зрозумілий інтерфейс. Вибір пунктів меню відбувається при натисканні мишкою на поле, відведене для цього елементу.
Для того, щоб дізнатися умову задачі та відомості про автора курсової роботи та програми необхідно відповідно вибрати пункти меню „Автор” та „Умова”. Для перегляду розв’язку задачі для прикладів, записаних у вхідному файлі даних потрібно вибрати пункт меню „Задача”.
Вихід з програми відбувається при натисканні клавіші „Esc” (відбувається в будь-який момент виконання програми) чи при виборі пункту меню „Вихід”.
Дані для розв’язку задачі потрібно задавати в файлі data.txt. у такому вигляді:
кількість блоків вхідних даних M;
кількість точок для 1–ого тесту;
абсциса та ордината першої точки першого тесту;
...
абсциса та ордината N–ої точки 1–ого тесту;
...
кількість точок для M–ого тесту;
абсциса та ордината першої точки першого тесту;
...
абсциса та ордината –ої точки M–ого тесту;
Кількість
тестів, точок в кожному з них та координати
точок вводяться в окремій стрічці.
ВИСНОВКИ
В даній курсовій роботі було вирішено та розроблено програму для проведення згладжування функцій методом найменших квадратів. Було проаналізовано задачу, можливі методи її вирішення та обрано оптимальний розв’язок, правильність програмної реалізації якого перевірено при тестуванні програми та вирішенні типового прикладу.
Розв’язання
оформлено з графічним
В
процесі роботи набуто досвіду розв’язання
поставлених задач з подальшим
їх оформленням та документуванням.
ПЕРЕЛІК
ВИКОРИСТАНИХ ДЖЕРЕЛ
1.Самарський А.А. Вступ в чисельні методи. - М.: Наука, 1987. – 286 с.
2.Квєтний Р.Н., Маліков В.Т. Обчислювальні методи та використання ЕОМ. Вища школа, 1989 – 55 с., 104 с.
3. Гусев В.А., Мордковіч А.Г. - Математика: Справ. матеріали. - М.: Освіта, 1990. - 416 с.
4. Б. Страустрап, „Справочное руководство по С++”.
5. Ал. Стивенс, „Техника программирования на турбо Си”.
6. Д. Элджер, „C++”.
7. Г. Шилдт,
„Си для профессиональных программистов
”.
Информация о работе Згладжування функцій за методом найменших квадратів