Федеральное агентство по образованию
Государственное образовательное учреждение высшего профессионального образования
Омский Государственный Технический Университет
Кафедра: ЭСПП
Лабораторная работа №1
«Аппроксимация линейной функции методом средних»
Выполнил: ст-т гр. Э-513
Матвиец С.В.
Проверил: преподаватель
Зиновьев М.Е.
Омск 2007
Цель работы: изучить на практике метод линейной аппроксимации, используя критерий средних.
Краткая теория.
Пусть дана функция y=f(x): y(x)=a0+a1x+a2x2+……..
n=m – число точек(степень полинома)
Аппроксимация – для данной функции f(x) многочлен, принимающий в заданных точках Xi те же значения Yi ,что и функция f(x), т.е. φ(Xi)=Yi , i=0,1,……n называется интерполяционным многочленом. Точки Xi – это узлы интерполяции. Максимальная степень полинома m=n говорит о глобальной интерполяции, т.е. один многочлен используется для интерполяции функции f(x) на всём рассматриваемом интервале изменения Х.
Когда интерполяционный полином строится для некоторого интервала изменения Х, говорят о локальной (кусочной) интерполяции.
Экстраполяция – когда интерполяционные многочлены используются для аппроксимации функции вне интервала, ограниченного крайними узлами интерполяции, такой метод называется экстраполяцией.
Критерий средних.
Сумма невязок должна быть равна нулю, т.е.
.
- метод средних
Применительно к функции y=ax+b, имеем:
Поскольку интервала два, получаем систему уравнений:
Уравнения можно записать в виде:
Задание (вариант №4).
Построить аппроксимирующую прямую (найти коэффициенты а и b) для заданных точек:
xi= |
-6 |
yi= |
-5 |
-6 |
-5 |
||
-4 |
-3 |
||
-1 |
0 |
||
1 |
2 |
||
3 |
5 |
||
4 |
7 |
||
6 |
8 |
||
9 |
8 |
||
10 |
10 |
Текст программы на языке Turbo Basic
INPUT N
DIM X(N), Y(N)
FOR I=1 TO N
INPUT X(I), Y(I)
NEXT I
X1=0
Y1=0
X2=0
Y2=0
K=INT(N/2)
FOR I=1 TO K
X1=X1+X(I)
Y1=Y1+Y(I)
NEXT I
FOR I=K+1 TO N
X2=X2+X(I)
Y2=Y2+Y(I)
NEXT I
B=(X2*Y1-X1*Y2)/(K*X2-X1*(N-K-1))
A=(Y1-K*B)/X1
PRINT A
PRINT B
END
Результаты расчёта.
a=1.044642925262451; b=1.142857193946838.
Контрольные расчёты на калькуляторе.
Подставим полученные значения в формулу, т.о. получим:
Расчёт на калькуляторе полностью подтверждает правильность полученных результатов.
Вывод:В ходе выполнения данной лабораторной работы я изучил основы программирования на языке Basic. Проверка расчётов на калькуляторе подтвердила правильность выполненного задания.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.