Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
4.1.Цель работы
Целью работы является изучение аппроксимации полиномом таблично заданной функции методом наименьших квадратов при помощи вычислительной системы Mathcad.
4.2.Задания
Таблица 4.1.
X | Y1 | Y2 | Y3 | Y4 | Y5 | Y6 | Y7 | Y8 | Y9 | Y10 |
1.0 | 0.333 | 0.5 | 0.35 | 0.25 | 0.05 | 9.55 | 8.3 | 6.5 | 7.75 | |
0.5 | 0.8 | 0.4 | 0.7 | 0.45 | ||||||
0.8 | 0.7 | 5.5 | 9.5 | 3.3 | 5.5 | 5.45 | ||||
0.5 | 1.5 | |||||||||
1.0 | 9.5 | 1.5 | 0.25 | 8.45 | 1.55 | 0.55 | 2.35 |
4.3.Теоретические сведения
Дана таблица значений функции yi = f(xi) в узлах xi, i = 0 …k, где k+ 1– количество узлов
№ | Xi | Yi |
X0 | Yo | |
… | … | … |
k | Xk | Yk |
Необходимо определить коэффициенты аппроксимирующего полинома Pn(x) порядка n
Pn(x) = c0 + c1x + c2x2+…+cnxn, (4.1)
из условий:
(4.2)
K >= n.
В узлах таблицы xi между значениями полинома Pn(x) и функции yi будет разность, называемая отклонением. Если выбрать порядок полинома n=k, то получим полином, совпадающий с интерполяционным. Аппроксимирующая кривая в этом случае пройдет через точки таблицы и величина S будет равна нулю.
Подставляя в (1) выражение для полинома, получим:
Значения S зависят от коэффициентов c0,c1,c2,…,cn, т.е. S=F(c0,c1,c2,…,cn). Коэффициенты полинома определяются из условия минимума функции F:
(4.2)
После преобразований (4.2) получим систему алгебраических уравнений:
a·c=b (4.3),
где a – матрица коэффициентов, b – вектор правой части системы уравнений, вычисляемые по следующим зависимостям:
с – неизвестные коэффициенты полинома.
Значения полинома в точке X вычисляют по схеме Горнера.
(4.5)
Решение задачи в среде Mathcad
Поставленная задача в Mathcad решается с помощью встроенной функции Regress(Vx,Vy,n), которая вычисляет вектор коэффициентов полинома. При обращении к функции необходимо задать:
Vx - вектор значений x в порядке возрастания;
Vy - вектор значений y;
n - порядок полинома (n < 5).
Функция возвращает вектор, три первых элемента которого используются функцией interp, а остальные являются коэффициентами полинома. Функция Regress выполняет все этапы решения задачи аппроксимации методом наименьших квадратов. Для поэтапного рассмотрения этого метода в среде Mathcad организованы специальные функции.
Функция koefa(tab,nk,nn) вычисляет матрицу коэффициентов, а функция koefb(tab,nk,nn) вектор правой части системы (4.3) по формулам (4.4), где tab – таблица значений функции, nk – количество узлов таблицы, nn – порядок полинома.
Система уравнений (4.3) решается с помощью встроенной функции lsolv(a,b), где a – матрица коэффициентов, b – вектор правой части.
Вычисление значения полинома по схеме Горнера (4.5) выполняется с помощью функции fpn(vc,nn,xx), где vc – вектор коэффициентов полинома, nn – порядок полинома, xx – аргумент.
Функция interp(vc,Mx,My,x) возвращает значение полинома в точке x, где
vc – вектор, возвращаемый функцией regress;
Mx,My – исходные данные.
4.4.Порядок выполнения работы
Получить у преподавателя номер варианта задания.
Провести расчет для трехточечного варианта задания в
точках x =-1, x =0, x =1 и соответствующих им значениям y. Методом наименьших квадратов найти аппроксимирующий полином первого порядка.
Построить график полученного полинома и исходных данных.
Провести в системе Mathcad заданного варианта для полиномов разных порядков. Вначале в матрице XY задается таблица значений функции. В первом столбце задают значения X, а во втором – Y. Вариант таблицы значений функции задается преподавателем из таблицы 1. Рекомендуется взять вариант, использованный в лабораторной работе по изучению методов интерполирования.
Переменной n присваивается значение порядка аппроксимирующего полинома. С помощью функций koefa и koefb вычисляют матрицу коэффициентов a и вектор правой части b системы уравнений (4.3).
Решение системы уравнений находят с помощью функции lsolve среды Mathcad. Вектор решения системы уравнений состоит из значений коэффициентов аппроксимирующего полинома. Используя найденные коэффициенты, надо записать искомый полином заданной степени.
Затем коэффициенты полинома вычисляются с помощью функции Regress среды Mathcad и сравниваются с значениями, полученными из решения системы уравнений.
С помощью функции fpn вычисляется вектор значений полинома в узлах таблицы. Затем вычисляется сумма квадратов отклонений. Вычисления повторяются для нескольких значений порядка полинома. Результаты вычислений заносятся в итоговую таблицу.
Построить графики полученных полиномов и исходных данных.
4.5. Пример выполнения лабораторной работы
Дата публикования: 2015-07-22; Прочитано: 1045 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!