Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Выч. математика часть 1 / Rabota_4_Metod_naim_kvadratov

.docx
Скачиваний:
5
Добавлен:
19.07.2019
Размер:
121.45 Кб
Скачать

Работа 4. Метод наименьших квадратов

Целью работы является получение навыков аппроксимации дискретных данных полиномом и исследование погрешностей аппроксимации в зависимости от степени полинома.

1. Теоретические сведения

Метод наименьших квадратов применяют, когда необходимо вывести формулу аппроксимирующей кривой, описывающей некоторую зависимость, полученную в результате, например, эксперимента. Поскольку экспериментальные данные получают, как правило, с некоторой погрешностью, то нет смысла использовать, например, интерполяционный многочлен Лагранжа, всегда проходящий через узлы интерполяции. В этом случае обычно проводят аппроксимирующую кривую, которая не проходит через экспериментальные точки, но в то же время учитывает исследуемую закономерность, сглаживая случайные выбросы результатов эксперимента. В качестве аппроксимирующей функции может использоваться линейная комбинация F(x) любых функций

F(x)= a0f0(x)+a1f1(x)+ … + anfn(x) , (1)

где f0(x), f1(x),…, fn(x) - набор любых функций, называемых базисными; a0 ,a1 ,… ,an - набор коэффициентов.

Довольно часто в качестве базисных функций используют комбинацию из возрастающей степенной последовательности аргумента f0(x)=1, f1(x)=x, f2(x)=x2,…, fn(x)=xn, при этом аппроксимирующая функция будет являться алгебраическим полиномом. Именно этот случай и рассматривается в этой работе при исследовании метода наименьших квадратов.

Пусть некоторая функция задана таблицей значений yi в узлах xi (i=0,1,2,…,m), где (m+1) – количество узлов (см. рисунок). Требуется определить коэффициенты a0 ,a1 ,… ,an полинома

P (x)=a0+a1x+ … +anxn (2)

таким образом, чтобы сумма S квадратов отклонений полинома P (x) от значений yi аппроксимируемой функции в заданных точках была бы минимальной, т.е.

(3)

Если степень полинома n = m , то полином (2) будет интерполяционным и пройдет через все узлы и отклонения будут нулевыми. Стремясь понизить степень полинома, принимают n < m, при этом в общем случае аппроксимирующая кривая не будет проходить через заданные точки (xi, yi).

Сумма квадратов отклонений зависит от коэффициентов полинома a0 ,a1 ,… ,an. Поскольку функция S принимает только положительные значения и имеет минимум, вычислим частные производные по всем переменным a0 ,a1 ,… ,an и приравняем их нулю:

Получаем систему уравнений:

Выполнив суммирование, собрав коэффициенты при каждом a0 ,a1 ,… ,an и перенеся не содержащие их суммы в правую часть, получим СЛАУ относительно неизвестных a0 ,a1 ,… ,an:

В матричной форме эту систему можно записать как aS=b, где

Решение этой системы позволяет найти все коэффициенты a0 ,a1 ,… ,an и значение полинома в любой точке x вычисляют по формуле (2).

Для полиномиальной аппроксимации (регрессии) в MathCAD’е можно воспользоваться следующими встроенными функциями:

  1. regress(x,y,k) – возвращает вектор коэффициентов a полинома, при этом всегда первые три компоненты вектора есть вектор вторых производных и являются параметрами для описываемой ниже функции interp, а остальные компоненты и есть вектор коэффициентов a, где x - вектор данных аргумента, элементы которого должны быть расположены в порядке возрастания; y - вектор значений того же размера; k - степень полинома (целое положительное число).

Функция regress позволяет, вычислив коэффициенты a0 ,a1 ,… ,an, построить полином в форме (2) и уже его использовать, например, для построения графика.

Например, при значении степени полинома k=2 функция regress возвратит представленное ниже значение.

  1. interp (s,x,y,t) – возвращает результат полиномиальной регрессии, где s - вектор вторых производных, созданный, например, предыдущей функцией; x и y - то же, что и в предыдущей функции; t - текущее значение аргумента полинома.

Функция interp позволяет непосредственно вычислить значение полинома при любом значении аргумента без построения полинома как такового в форме (2).

  1. linfit(x,y,F) – более универсальная функция, возвращающая вектор коэффициентов a линейной комбинации функций (1), где x и y - то же, что и в предыдущей функции; F - вектор базисных функций f0(x), f1(x),…, fn(x) в выражении (1). Например, для алгебраического полинома степени n =2 необходимо записать F в следующем виде:

Функция linfit также позволяет непосредственно вычислить значение полинома при любом значении аргумента без построения полинома как такового в форме (2). Например, при значении аргумента, равного 2.3, получим:

2. Задание

  1. Аппроксимировать табличные значения методом наименьших квадратов полиномами 1, 2, 3 и 4 степеней, при этом для полиномов:

  • 1, 2 и 3 степеней вывести формулы полиномов в форме (2).

  • 1 и 2 степени - использовать функцию regress.

  • 3-й степени - использовать функцию linfit.

  • 4-й степени - использовать функцию interp.

  1. Построить совмещенный график узлов и всех полиномов.

  2. Построить график суммы абсолютных отклонений полиномов во всех узлах в зависимости от степени полинома. Сделать выводы по результатам исследования.

3. Пример выполнения задания

Варианты заданий

1