Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Метод наименьших квадратов



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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...