Что такое аппроксимация краевых коротко. Аппроксимация данных
Среди различных методов прогнозирования нельзя не выделить аппроксимацию. С её помощью можно производить приблизительные подсчеты и вычислять планируемые показатели, путем замены исходных объектов на более простые. В Экселе тоже существует возможность использования данного метода для прогнозирования и анализа. Давайте рассмотрим, как этот метод можно применить в указанной программе встроенными инструментами.
Наименование данного метода происходит от латинского слова proxima – «ближайшая» Именно приближение путем упрощения и сглаживания известных показателей, выстраивание их в тенденцию и является его основой. Но данный метод можно использовать не только для прогнозирования, но и для исследования уже имеющихся результатов. Ведь аппроксимация является, по сути, упрощением исходных данных, а упрощенный вариант исследовать легче.
Главный инструмент, с помощью которого проводится сглаживания в Excel – это построение линии тренда. Суть состоит в том, что на основе уже имеющихся показателей достраивается график функции на будущие периоды. Основное предназначение линии тренда, как не трудно догадаться, это составление прогнозов или выявление общей тенденции.
Но она может быть построена с применением одного из пяти видов аппроксимации:
- Линейной;
- Экспоненциальной;
- Логарифмической;
- Полиномиальной;
- Степенной.
Рассмотрим каждый из вариантов более подробно в отдельности.
Способ 1: линейное сглаживание
Прежде всего, давайте рассмотрим самый простой вариант аппроксимации, а именно с помощью линейной функции. На нем мы остановимся подробнее всего, так как изложим общие моменты характерные и для других способов, а именно построение графика и некоторые другие нюансы, на которых при рассмотрении последующих вариантов уже останавливаться не будем.
Прежде всего, построим график, на основании которого будем проводить процедуру сглаживания. Для построения графика возьмем таблицу, в которой помесячно указана себестоимость единицы продукции, производимой предприятием, и соответствующая прибыль в данном периоде. Графическая функция, которую мы построим, будет отображать зависимость увеличения прибыли от уменьшения себестоимости продукции.
Сглаживание, которое используется в данном случае, описывается следующей формулой:
В конкретно нашем случае формула принимает такой вид:
y=-0,1156x+72,255
Величина достоверности аппроксимации у нас равна 0,9418 , что является довольно приемлемым итогом, характеризующим сглаживание, как достоверное.
Способ 2: экспоненциальная аппроксимация
Теперь давайте рассмотрим экспоненциальный тип аппроксимации в Эксель.
Общий вид функции сглаживания при этом такой:
где e – это основание натурального логарифма.
В конкретно нашем случае формула приняла следующую форму:
y=6282,7*e^(-0,012*x)
Способ 3: логарифмическое сглаживание
Теперь настала очередь рассмотреть метод логарифмической аппроксимации.
В общем виде формула сглаживания выглядит так:
где ln – это величина натурального логарифма. Отсюда и наименование метода.
В нашем случае формула принимает следующий вид:
y=-62,81ln(x)+404,96
Способ 4: полиномиальное сглаживание
Настал черед рассмотреть метод полиномиального сглаживания.
Формула, которая описывает данный тип сглаживания, приняла следующий вид:
y=8E-08x^6-0,0003x^5+0,3725x^4-269,33x^3+109525x^2-2E+07x+2E+09
Способ 5: степенное сглаживание
В завершении рассмотрим метод степенной аппроксимации в Excel.
Данный способ эффективно используется в случаях интенсивного изменения данных функции. Важно учесть, что этот вариант применим только при условии, что функция и аргумент не принимают отрицательных или нулевых значений.
Общая формула, описывающая данный метод имеет такой вид:
В конкретно нашем случае она выглядит так:
y = 6E+18x^(-6,512)
Как видим, при использовании конкретных данных, которые мы применяли для примера, наибольший уровень достоверности показал метод полиномиальной аппроксимации с полиномом в шестой степени (0,9844 ), наименьший уровень достоверности у линейного метода (0,9418 ). Но это совсем не значит, что такая же тенденция будет при использовании других примеров. Нет, уровень эффективности у приведенных выше методов может значительно отличаться, в зависимости от конкретного вида функции, для которой будет строиться линия тренда. Поэтому, если для этой функции выбранный метод наиболее эффективен, то это совсем не означает, что он также будет оптимальным и в другой ситуации.
Если вы пока не можете сразу определить, основываясь на вышеприведенных рекомендациях, какой вид аппроксимации подойдет конкретно в вашем случае, то есть смысл попробовать все методы. После построения линии тренда и просмотра её уровня достоверности можно будет выбрать оптимальный вариант.
Аппроксимация функций
Введение
Когда обрабатывается выборка экспериментальных данных, то они, чаще всего, представляются в виде массива, состоящего из пар чисел (x i ,y i ). Поэтому возникает задача аппроксимации дискретной зависимости y(x i ) непрерывной функцией f(x).
Аппроксимацией (приближением) функции называется нахождение такой функции (аппроксимирующей функции ) , которая была бы близка заданной.
Функция f(x), в зависимости от специфики задачи, может отвечать различным требованиям.
- Функция f(x) должна проходить через точки (x i ,y i ), т. е. f(x i )=y i ,i=1...n. В этом случае говорят об интерполяции данных функцией f(x) во внутренних точках между x i , или экстраполяции за пределами интервала, содержащего все x i .
- Функция f(x) должна некоторым образом (например, в виде определенной аналитической зависимости) приближать y(x i ), не обязательно проходя через точки (x i ,y i ). Такова постановка задачи регрессии , которую во многих случаях также можно назвать сглаживанием данных.
- Функция f(x) должна приближать экспериментальную зависимость y(x i ), учитывая, к тому же, что данные (x i ,y i ) получены с некоторой погрешностью, выражающей шумовую компоненту измерений. При этом функция f(x), с помощью того или иного алгоритма уменьшает погрешность, присутствующую в данных (x i ,y i ). Такого типа задачи называют задачами фильтрации. Сглаживание - частный случай фильтрации.
Критерии близости функций и могут быть различные.
В том случае, когда приближение строится на дискретном наборе точек, аппроксимацию называют точечной или дискретной.
В том случае, когда аппроксимация проводится на непрерывном множестве точек (отрезке), аппроксимация называется непрерывной или интегральной . Примером такой аппроксимации может служить разложение функции в ряд Тейлора, то есть замена некоторой функции степенным многочленом.
Наиболее часто встречающим видом точечной аппроксимации является интерполяция (в широком смысле).
Пусть задан дискретный набор точек, называемых узлами интерполяции , причем среди этих точек нет совпадающих, а также значения функции в этих точках. Требуется построить функцию , проходящую через все заданные узлы. Таким образом, критерием близости функции является.
В качестве функции обычно выбирается полином, который называют интерполяционным полиномом .
В том случае, когда полином един для всей области интерполяции, говорят, что интерполяция глобальная .
В тех случаях, когда между различными узлами полиномы различны, говорят о кусочной или локальной интерполяции .
Найдя интерполяционный полином, мы можем вычислить значения функции между узлами (провести интерполяцию в узком смысле слова ), а также определить значение функции даже за пределами заданного интервала (провести экстраполяцию ).
Различные виды построения аппроксимирующей зависимости f(x) иллюстрирует рис. 1. На нем исходные данные обозначены кружками, интерполяция отрезками прямых линий - пунктиром, линейная регрессия - наклонной прямой линией, а фильтрация - жирной гладкой кривой.
Рис. 1. Виды построения аппроксимирующей зависимости
Интерполяция и экстраполяция
В огромном количестве численных методов используются алгоритмы интерполяции. Вообще говоря, вычислительная математика - это наука о дискретных представлениях функций. Именно конечный набор значений y(x i ) представляет на компьютерном языке математическую абстрацию - непрерывную функцию y(x). Задача интерполяции функции одной переменной состоит в замене дискретной зависимости y(x i ), т.е. N пар чисел (x i ,y i ), или, по-другому, узлов, некоторой непрерывной функцией y(x). При этом основным условием является то, что функция y(x) должна проходить через точки (x i ,y i ), т. е. y(x i )=y i ,i=1...N, а также возможность вычислить значение y(x) в любой точке, находящейся между узлов.
Рис. 2. Построение интерполирующих и экстраполирующих зависимостей.
Когда искомое значение y(x) вычисляется в точке x, которая находится между каких-либо из узлов x i , говорят об интерполяции , а когда точка x лежит вне границ интервала, включающего все x i - об экстраполяции функции y(x).
На Рис. 2 по множеству точек (x i ,y i ), обозначенных кружками, построена как интерполирующая (при x>100), так и экстраполирующая их функция (при x<100). Интерполяция-экстраполяция показаны на рис. сплошной кривой.
Следует иметь в виду, что точность экстраполяции обычно очень невелика.
Для экстраполяции данных в отдельных версиях пакета применяется функция predict (v, m ,n) . Она формирует вектор предсказанных значений, построенный на m последовательных элементах вектора v .
Параметры функции predict (v, m ,n ) : v - вектор, чьи значения представляют выборки, принятые в равных интервалах, m и n - целые числа.
Таким образом «предсказывающаяся функция» predict (v, m ,n) использует существующие данные, чтобы предсказать новые данные, которые находящиеся за пределами задания. Она использует линейный алгоритм предсказания, который является достаточным, когда функции гладкие или знакопеременные, хотя не обязательно периодические.
Пример ниже иллюстрирует использование линейного предсказания.
7 .1 Локальная интерполяция
7 .1.1. Линейная интерполяция
Простейшим случаем локальной интерполяции является линейная интерполяция, когда в качестве интерполяционной функции выбирается полином первой степени, то есть узловые точки соединяются прямой линией.
Линейная интерполяции представляет искомую зависимость y(x) в виде ломаной линии. Интерполирующая функция у(x) состоит из отрезков прямых, соединяющих точки (x i ,y i ) (см. рис. 3).
Рис.3 Линейная интерполяция
Для построения линейной интерполяции достаточно на каждом из интервалов (x i ,x i+1 ) вычислить уравнение прямой, проходящей через эти две точки:
При кусочно-линейной интерполяции вычисления дополнительных точек выполняются по линейной зависимости. Графически это означает просто соединение узловых точек отрезками прямых. Линейная интерполяция на Mathcad е осуществляется с помощью встроенной функции linterp .
linterp (VX , VY , х)
Для заданных векторов VX и VY узловых точек и заданного аргумента х linterp возвращает значение функции при ее линейной интерполяции. При экстраполяции используются отрезки прямых, проведенных через две крайние точки.
Пусть требуется провести линейную интерполяцию функции sin( x ) на интервале , используя пять узлов интерполяции, и вычислить значения функции в четырех точках Xk :
Задаем интервал изменения x и число узловых точек
Определяем шаг изменения x :
Вычисляем координаты узлов и значения функции в них:
Проводим линейную интерполяцию:
Вычислим значение интерполяционной функции в заданных точках и сравним их с точными значениями
Как видно, результаты интерполяции отличаются от точных значений функции незначительно.
7 .1.2. Интерполяция сплайнами
В настоящее время среди методов локальной интерполяции наибольшее распространение получила интерполяция сплайнами (от английского слова spline гибкая линейка).
В большинстве практических приложений желательно соединить экспериментальные точки (x i ,y i )не ломаной линией, а гладкой кривой. Лучше всего для этих целей подходит интерполяция у(x) квадратичными или кубическими сплайнами, т. е. отрезками квадратичных или кубических парабол (см. рис.4).
При этом строится интерполяционный полином третьей степени, проходящий через все заданные узлы и имеющий непрерывные первую и вторую производные.
Рис.4 Сплайн-интерполяция
На каждом интервале интерполирующая функция является полиномом третьей степени
и удовлетворяет условиям.
Если всего n узлов, то интервалов . Значит, требуется определить неизвестных коэффициентов полиномов. Условие дает нам n уравнений. Условие непрерывности функции и ее первых двух производных во внутренних узлах интервала дает дополнительно уравнений
Всего имеем различных уравнений. Два недостающих уравнения можно получить, задавая условия на краях интервала. В частности, можно потребовать нулевой кривизны функции на краях интервала, то есть. Задавая различные условия на концах интервала, можно получить разные сплайны.
Для осуществления сплайновой аппроксимации MathCAD предлагает четыре встроенные функции. Три из них служат для получения векторов вторых производных сплайн-функций при различном виде интерполяции:
cspIine(VX, VY) возвращает вектор VS вторых производных при приближении в опорных точках к кубическому полиному;
pspline(VX, VY) возвращает вектор VS вторых производных при приближении к опорным точкам к параболической кривой;
lspline(VX, VY) возвращает вектор VS вторых производных при приближении к опорным точкам прямой.
Наконец, четвертая функция
interp (VS , VX , VY , x)
возвращает значение у(х) для заданных векторов VS, VX, VY и заданного значения х.
Таким образом, сплайн-аппроксимация проводится в два этапа. На первом с помощью одной из функций cspline, pspline или lspline отыскивается вектор вторых производных функции у(х), заданной векторами VX и VY ее значений (абсцисс и ординат). Затем на втором этапе для каждой искомой точки вычисляется значение у(х) с помощью функции interp.
Решим задачу об интерполяции синуса с помощью сплайнов через функцией interp(VS,x,y,z) . Переменные x и y задают координаты узловых точек, z является аргументом функции, VS определяет тип граничных условий на концах интервала.
Определим интерполяционные функции для трех типов кубического сплайна
Вычисляем значения интерполяционных функций в заданных точках и сравниваем результаты с точными значениями
Следует обратить внимание, что результаты интерполяции различными типами кубических сплайнов практически не отличаются во внутренних точках интервала и совпадают с точными значениями функции. Вблизи краев интервала отличие становится более заметным, а при экстраполяции за пределы заданного интервала различные типы сплайнов дают существенно разные результаты. Для большей наглядности результаты представлены на графиках (Рис.5) .
Рис.5 Сравнение сплайн-интерполяция
Аналогично можно убедиться, что первые и вторые производные сплайна непрерывны (Рис.6).
Рис.6 Сравнение производных (1-х и 2-х) сплайн-интерполяция
П роизводные более высоких порядков уже не являются непрерывными.
7.1.3. Интерполяция B-cплайнами
Рис.7 Интерполяция B-cплайнами
Чуть более сложный тип интерполяции так называемая полиномиальная сплайн-интерполяция, или интерполяция B-сплайнами . В отличие от обычной сплайн-интерполяции, сшивка элементарных B-сплайнов производится не в точках (t i ,x i ), а в других точках, координаты которых обычно предлагается определить пользователю. Таким образом, требование равномерного следования узлов при интерполяции B-сплайнами отсутствует, и ими можно приближать разрозненные данные.
Сплайны могут быть полиномами первой, второй или третьей степени (линейные, квадратичные или кубические). Применяется интерполяция B-сплайнами точно так же, как и обычная сплайн-интерполяция, различие состоит только в определении вспомогательной функции коэффициентов сплайна.
bspline (vx , vy , u , n ) Возвращает вектор, содержащий коэффициенты В- сплайна степени n для данных , которые находяться в векторах vx и vy (с учет ом значений узл ов, которые заданы в u ) . Возвращаемый вектор становится первым аргументом функции interp .
interp (vs , vx , vy , x ) Возвращает B - сплайн интерполированной величины vy в точке x , где vs результат работы функции bspline .
Аргументы
vx x .
vy y vx .
U - действительный вектор с числом элементов n-1 меньшим, чем в vx (где n - 1, 2, или 3). Элементы u должны быть в порядке возрастания. Элементы содержат значения узлов для интерполяции. Первый элемент в u должен быть меньше чем или равняться первому элементу в vx . Последний элемент в u должен быть больше или равняться последнему элементу в x.
N - целое число, равняются 1, 2, или 3, указывая степень индивидуального кусочно-линейного (n=1) , - квадратичного (n=2) , или кубического (n=3) полиномиал соответственно.
vs - вектор, образованный bspline .
X - значения независимой переменной, по которой Вы хотите интерполировать результаты. Для лучших результатов она должна принадлежать интервалу задания исходных значений х.
B - spline интерполяция позволяет передавать кривую через набор точек. Эта кривая строится на трех смежных точках полиномами градуса степени n и проходит через эти точки. Эти полиномы сопрягаются вместе в узлах так, чтобы сформировать законченную кривую.
7 .2. Глобальная интерполяция
При глобальной интерполяции ищется единый полином для всего интервала. Если среди узлов { x i ,y i } нет совпадающих, то такой полином будет единственным, и его степень не будет превышать n .
Запишем систему уравнений для определения коэффициентов полинома
Определим матрицу коэффициентов системы уравнений
Решим систему уравнений матричным методом
Определим интерполяционный полином
Вычислим значения интерполяционного полинома в заданных точках и сравним их с точными значениями
Коэффициенты интерполяционного полинома следующие:
Для наглядности результаты представлены на графике (Рис.8).
Примечание.
Из-за накопления вычислительной погрешности (ошибок округления) при большом числе узлов (n>10) возможно резкое ухудшение результатов интерполяции. Кроме того, для целого ряда функций глобальная интерполяция полиномом вообще не дает удовлетворительного результата. Рассмотрим в качестве примера две таких функции. Для этих функций точность интерполяции с ростом числа узлов не увеличивается, а уменьшается.
Рис. 8 . Глобальная интерполяция полиномом функции sin (z ).
Следующим примером является функция. Для нее интерполяционный полином строится на интервале [1;1], используется 9 точек.
Результаты представлены на графике Рис. 9.
Рис. 9 Глобальная интерполяция полиномом функции.
Для функция найдем интерполяционный полином, используя заданные выше точки.
Результаты представлены на графике Рис. 10.
Рис. 10 Глобальная интерполяция полиномом функции.
При увеличении числа узлов интерполяции, результаты интерполирования вблизи концов интервала ухудшаются.
7 .3 Метод наименьших квадратов
Наиболее распространенным методом аппроксимации экспериментальных данных является метод наименьших квадратов. Метод позволяет использовать аппроксимирующие функции произвольного вида и относится к группе глобальных методов. Простейшим вариантом метода наименьших квадратов является аппроксимация прямой линией (полиномом первой степени). Этот вариант метода наименьших квадратов носит также название линейной регрессии.
Критерием близости в методе наименьших квадратов является требование минимальности суммы квадратов отклонений от аппроксимирующей функции до экспериментальных точек:
Таким образом, не требуется, чтобы аппроксимирующая функция проходила через все заданные точки, что особенно важно при аппроксимации данных, заведомо содержащих погрешности.
Важной особенностью метода является то, что аппроксимирующая функция может быть произвольной. Ее вид определяется особенностями решаемой задачи, например, физическими соображениями, если проводится аппроксимация результатов физического эксперимента. Наиболее часто встречаются аппроксимация прямой линией (линейная регрессия), аппроксимация полиномом (полиномиальная регрессия), аппроксимация линейной комбинацией произвольных функций. Кроме того, возможно путем замены переменных свести задачу к линейной (провести линеаризацию). Например, пусть аппроксимирующая функция ищется в виде. Прологарифмируем это выражение и введем обозначения , . Тогда в новых обозначениях задача сводится к отысканию коэффициентов линейной функции.
7 .3.1. Аппроксимация линейной функцией
Применим метод наименьших квадратов для аппроксимации экспериментальных данных.
Данные считываются из файлов datax и datay
При использовании MathCAD имя файла следует заключать в кавычки и записывать его по правилам MS DOS, например, READPRN("c:\mylib\datax.prn").
Определяется количество прочитанных данных (число экспериментальных точек).
В дальнейшем используются встроенные функции slope и intercept для определения коэффициентов линейной регрессии (аппроксимация данных прямой линией).
Функция slope(vx , vy ) определяет угловой коэффициент прямой, а функция intercept(vx , vy ) точку пересечения графика с вертикальной осью.
Mathcad 2000 предлагает для этих же целей использовать функцию line(vx , vy ) , которая образует вектор (первый элемент - угловой коэффициент прямой, второй - точку пересечения с вертикальной осью).
Аргументы
v x - вектор действительных значений данных в порядке возрастания. Они соответствуют значениям x .
vy - вектор действительных значений данных. Они соответствуют значениям y . Содержит тот же число элементов, что и vx .
Коэффициенты линейной регрессии
Стандартное отклонение составляет:
Рис. 11. Аппроксимация линейной функцией.
7 .3.2. Аппроксимация полиномами.
Для аппроксимация экспериментальных данных полиномами второй и третьей степени служат встроенные функции regress и уже знакомая нам функция interp . (Очевидно, что если в качестве аппроксимирующей функции брать полином степени на единицу меньше числа точек, то задача сведется к задаче глобальной интерполяции и полученный полином будет точно проходить через все заданные узлы.)
Вводим степени полиномов:
Функция regress(vx , vy , k ) является вспомогательной, она подготавливает данные, необходимые для работы функции interp .
Аргументы
v x - вектор действительных значений данных в порядке возрастания. Они соответствуют значениям x .
vy - вектор действительных значений данных. Они соответствуют значениям y . Содержит тот же число элементов, что и vx ,
k - степень полинома .
Вектор vs содержит, в том числе, и коэффициенты полинома
Функция interp (vs , vx , vy , z ) возвращает полином интерполированной величины vy в точке z , где vs результат работы функции regress .
Определяя новые функции f2, f3 , мы получаем возможность находить значение полинома в любой заданной точке:
а также коэффициенты:
Стандартные отклонения почти не отличают друг от друга, коэффициент при четвертой степени z невелик, поэтому дальнейшее увеличение степени полинома нецелесообразно и достаточно ограничиться только второй степенью.
Функция regress имеется не во всех версиях Matcad "а. Однако, провести полиномиальную регрессию можно и без использования этой функции. Для этого нужно определить коэффициенты нормальной системы и решить полученную систему уравнений, например, матричным методом.
Теперь попытаемся аппроксимировать экспериментальные данные полиномами степени m и m1, не прибегая к помощи встроенной функции regress .
Вычисляем элементы матрицы коэффициентов нормальной системы
и столбец свободных членов
Находим коэффициенты полинома, решая систему матричным методом,
Определяем аппроксимирующие функции
Коэффициенты полиномов следующие:
Рис. 12. Аппроксимация полиномами 2-й и 3-й степени.
Функция regress создает единственный приближающий полином, коэффициенты которого вычисляются по всей совокупности заданных точек, т. е. глобально. Иногда полезна другая функция полиномиальной регрессии, дающая локальные приближения отрезками полиномов второй степени: loess(VX, VY, span ) возвращает вектор VS , используемый функцией interp(VS, VX, VY, x) , дающей наилучшее приближение данных (с координатами точек в векторах VX и VY ) отрезками полиномов второй степени. Аргумент span > 0 указывает размер локальной области приближаемых данных (рекомендуемое начальное значение 0,75). Чем больше span , тем сильнее сказывается сглаживание данных. При больших span эта функция приближается к regress(VX, VY, 2) .
Ниже в примере показано приближение сложной функции со случайным разбросом ее ординат с помощью совокупности отрезков полиномов второй степени (функция loess ) для двух значений параметра span .
По рисунку примера можно отметить, что при малом значении span = 0.05 отслеживаются характерные случайные колебания значений функции, тогда как уже при span = 0.5 кривая регрессии становится практически гладкой. К сожалению, из-за отсутствия простого описания аппроксимирующей функции в виде отрезков полиномов этот вид регрессии получил ограниченное применение.
Проведение многомерной регрессии
MathCAD позволяет выполнять также многомерную регрессию. Самый типичный случай ее приближение поверхностей в трехмерном пространстве. Их можно характеризовать массивом значений высот z , соответствующих двумерному массиву Мху координат точек (х,у) на горизонтальной плоскости.
Новых функций для этого не задано. Используются уже описанные функции в несколько иной форме:
regress(Mxy, Vz, n ) возвращает вектор, запрашиваемый функцией interp (VS, Мху, Vz, V) для вычисления многочлена n -й степени, который наилучшим образом приближает точки множества Мху и Vz . Мху матрица т 2, содержащая координаты х и у. Vz m -мер-ный вектор, содержащий z -координаты, соответствующие т точкам, указанным в Мху;
Loes(Mxy, Vz, span ) аналогичен loes(VX, VY, span ), но в многомерном случае;
interp(VS, Мху, Vz, V) возвращает значение z по заданным векторам VS (создается функциями regress или loess ) и Мху , Vz и V (вектор координат х и у заданной точки, для которой находится z ).
Пример многомерной интерполяции был приведен выше. В целом многомерная регрессия применяется сравнительно редко из-за сложности сбора исходных данных.
7 .3.3. Аппроксимация линейной комбинацией функций
Mathcad предоставляет пользователям встроенную функцию linfit для аппроксимации данных по методу наименьших квадратов линейной комбинацией произвольных функций.
Функция linfit(x , y , F ) имеет три аргумента:
- вектор x x координаты заданных точек,
- вектор y y координаты заданных точек,
- функция F содержит набор функций, который будет использоваться для построения линейной комбинации.
Задаем функцию F (аппроксимирующая функция ищется в виде:
Определяем аппроксимирующую функцию:
Вычисляем дисперсию:
Рис. 1 3 . Аппроксимация линейной комбинацией функций
8.3.4.
Теперь построим аппроксимирующую функцию дробно
рационального типа . Для этого воспользуемся функцией genfit(x , y , v,F ) .
Функция имеет следующие параметры:
- x, y векторы, содержащие координаты заданных точек,
- F функция, задающая искомую функциональную n параметрическую зависимость и частные производные этой зависимости по параметрам.
- v вектор, задающий начальные приближения для поиска параметров.
Поскольку нулевой элемент функции F содержит искомую функцию, определяем функцию следующим образом:
Вычисляем среднее квадратичное отклонение
Рис. 1 4 . Аппроксимация функцией произвольного вида
на основе genfit .
Функция genfit имеется не во всех реализациях Mathcad "а. Возможно, однако, решить задачу, проведя линеаризацию.
Заданная функциональная зависимость может быть линеаризована
введением переменных и. Тогда .
Определим матрицы коэффициентов нормальной системы.
Находим коэффициенты функции, решая систему матричным методом,
Определяем функцию:
Вычислим стандартное отклонение
Обратите внимание! Мы получили другие коэффициенты! Задача на нахождение минимума нелинейной функции, особенно нескольких переменных, может иметь несколько решений.
Стандартное отклонение больше, чем в случае аппроксимации полиномами, поэтому следует остановить свой выбор на аппроксимации полиномом.
Представим результаты аппроксимации на графиках
Рис. 1 5 . Аппроксимация функцией произвольного вида
на основе genfit .
В тех случаях, когда функциональная зависимость оказывается достаточно сложной, может оказаться, что самый простой способ нахождения коэффициентов минимизация функционала Ф "в лоб".
Пусть y является функцией аргумента х. Это означает, что любому значению х из области определения поставлено в соответствие значение x. На практике иногда невозможно записать зависимость y(x) в явном виде. Вместе с тем, нередко эта зависимость задается в табличном виде. Это означает, что дискретному множеству значений {xi) поставлено в соответствие множество значений {yi), 0 < i < m. Эти значения — либо результаты расчета, либо набор экспериментальных данных.
В часто требуется найти некоторую аналитическую функцию, которая приближенно описывает заданную табличную зависимость. Кроме того, иногда требуется определить значения функции в других точках, отличных от узловых. Этой цели служит задача о приближении (аппроксимации ). В этом случае находят некоторую функцию f(х), такую, чтобы отклонения ее от заданной табличной функции было наименьшим. Функция f(х) называется аппроксимирующей.
Вид аппроксимирующей функции
существенным образом зависит от исходной табличной функции. В разных случаях функцию f(х) выбирают в виде экспоненциальной, логарифмической, степенной, синусоидальной и т.д. В каждом конкретном случае подбирают соответствующие параметры таким образом, чтобы достичь максимальной близости аппроксимирующей и табличной функций. Чаще всего, однако, функцию представляют в виде полинома по степеням х. Запишем общий вид полинома n-й степени:
Коэффициенты aj подбираются таким образом, чтобы достичь наименьшего отклонения полинома от заданной функции.
Таким образом, аппроксимация — замена одной функции другой, близкой к первой и достаточно просто вычисляемой.
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
Аппроксимация (от латинского "approximate" -"приближаться")- приближенное выражение каких-либо математических объектов (например, чисел или функций) через другие более простые, более удобные в пользовании или просто более известные. В научных исследованиях аппроксимация применяется для описания, анализа, обобщения и дальнейшего использования эмпирических результатов.
Как известно, между величинами может существовать точная (функциональная) связь, когда одному значению аргумента соответствует одно определенное значение, и менее точная (корреляционная) связь, когда одному конкретному значению аргумента соответствует приближенное значение или некоторое множество значений функции, в той или иной степени близких друг к другу. При ведении научных исследований, обработке результатов наблюдения или эксперимента обычно приходиться сталкиваться со вторым вариантом. При изучении количественных зависимостей различных показателей, значения которых определяются эмпирически, как правило, имеется некоторая их вариабельность. Частично она задается неоднородностью самих изучаемых объектов неживой и, особенно, живой природы, частично обуславливается погрешностью наблюдения и количественной обработке материалов. Последнюю составляющую не всегда удается исключить полностью, можно лишь минимизировать ее тщательным выбором адекватного метода исследования и аккуратностью работы. Поэтому при выполнении любой научно-исследовательской работы возникает проблема выявления подлинного характера зависимости изучаемых показателей, этой или иной степени замаскированных неучтенностью вариабельности значений. Для этого и применяется аппроксимация - приближенное описание корреляционной зависимости переменных подходящим уравнением функциональной зависимости, передающим основную тенденцию зависимости (или ее "тренд").
При выборе аппроксимации следует исходить из конкретной задачи исследования. Обычно, чем более простое уравнение используется для аппроксимации, тем более приблизительно получаемое описание зависимости. аппроксимация алгебраический интерполяционный полином
Поэтому важно считывать, насколько существенны и чем обусловлены отклонения конкретных значений от получаемого тренда. При описании зависимости эмпирически определенных значений можно добиться и гораздо большей точности, используя какое-либо более сложное, много параметрическое уравнение. Однако нет никакого смысла стремиться с максимальной точностью передать случайные отклонения величин в конкретных рядах эмпирических данных. Гораздо важнее уловить общую закономерность, которая в данном случае наиболее логично и с приемлемой точностью выражается именно двухпараметрическим уравнением степенной функции. Таким образом, выбирая метод аппроксимации, исследователь всегда идет на компромисс: решает, в какой степени в данном случае целесообразно и уместно "пожертвовать" деталями и, соответственно, насколько обобщенно следует выразить зависимость сопоставляемых переменных. Наряду с выявлением закономерностей, замаскированных случайными отклонениями эмпирических данных от общей закономерности, аппроксимация позволяет также решать много других важных задач: формализовать найденную зависимость; найти неизвестные значения зависимой переменной путем интерполяции или, если это допустимо, экстраполяции.
1. Теоретическое описание задачи
Получить аналитическое описание графически заданных зависимостей концентрации дырок р-типа от температуры в образцах кремния с примесью бора (график 1 и 2) методами Лагранжа, Ньютона, Форсайта и сравнить точности каждого из методов при решении данной задачи.
Исходные данные для выполнения курсовой работы:
Рис.1. Зависимость концентрации дырок р от температуры в образцах кремния с примесью бора.
2. Теоретическое описание методов решения
Аппроксимацией (приближением) функции f(X) называется нахождение такой функции g(X) (аппроксимирующей функции ) , которая была бы близка заданной. Критерии близости функций f(X) и g(X) могут быть различные.
В том случае, когда приближение строится на дискретном наборе точек, аппроксимацию называют точечной или дискретной. В том случае, когда аппроксимация проводится на непрерывном множестве точек (отрезке), аппроксимация называется непрерывной или интегральной . Примером такой аппроксимации может служить разложение функции в ряд Тейлора, то есть замена некоторой функции степенным многочленом.
Наиболее часто встречающим видом точечной аппроксимации является интерполяция (в широком смысле).
Пусть задан дискретный набор точек X i (i=0,1,…,n), называемых узлами интерполяции , причем среди этих точек нет совпадающих, а также значения функции Y(X) в этих точках. Требуется построить функцию g(X), проходящую через все заданные узлы. Таким образом, критерием близости функции является g(X i)=y i . В качестве функции g(X) обычно выбирается полином, который называют интерполяционным полиномом .
В том случае, когда полином един для всей области интерполяции, говорят, что интерполяция глобальная . В тех случаях, когда между различными узлами полиномы различны, говорят о кусочной или локальной интерполяции .
Найдя интерполяционный полином, мы можем вычислить значения функции f(X) между узлами (провестиинтерполяцию в узком смысле слова ), а также определить значение функции f(X) даже за пределами заданного интервала (провести экстраполяцию ). Следует иметь в виду, что точность экстраполяции обычно очень невелика особенно при удалении от заданного интервала.
Аппроксимация функций с помощью алгебраических интерполяционных полиномов.
Задача аппроксимации функции с помощью алгебраического интерполяционного полинома формулируется следующим образом. Пусть аналитическое выражение функции Y=f(X) неизвестно, заданы только ее значения Y 1 ...Y N в точках X 1 ...X N некоторого отрезка . Необходимо найти полином степени n
для которого выполняются условия:
Так как в точках X j значение функции Y j и значение полинома P n (X j) должны совпадать между собой, то неизвестные коэффициенты полинома можно найти путем решения системы уравнений (1.2)
Интерполяционная формула Лагранжа.
Одну из простейших формул интерполяции позволяет построить метод Лагранжа. По условию находим полином P N -1 (X) степени (N-1), который в N точках совпадает с N значениями функции f(X). Если найти систему полиномов {ц j (X)}, каждый из которых в точке Xj равен единице, а в остальных точках равен нулю, то интерполяционный полином можно представить в виде
Это следует из того, что
Последовательность функций {ц j (X)} такого типа называется фундаментальной системой полиномов.
По предположению полином ц j (X) в точках X k при k?j обращается в нуль, поэтому его можно представить в виде
где С J - некоторая постоянная. Учитывая, что ц j (X j)=1, получим
Отсюда следует, что интерполяционный полином Лагранжа имеет вид
Формула Лагранжа при N?4 становится громоздкой при практическом использовании, так как в нее входит произведение П(х). Рассмотрим случай выбора узлов интерполяции, когда формула значительно упрощается.
Предположим, что функция Y=f(X) задана на отрезке [-1,1]. Далее полученные результаты обобщим на случай произвольного отрезка . Сначала введем полиномы Чебышева 1-го и 2-го рода. По определению полиномы Чебышева 1-го и 2-го рода задаются с помощью формул:
Если узлами интерполяции являются нули полинома T N (X), то интерполяционный полином Лагранжа можно представить в виде
Предположим, что узлами интерполяции являются нули полинома Чебышева 2-го рода U N (X). В этом случае интерполяционную формулу Лагранжа можно представить в виде
Интерполяционная формула Ньютона.
На практике для аппроксимации функции часто используется интерполяционный полином Ньютона. Этот полином вводится с помощью разделенных разностей различных порядков, найденных по значениям функцииY1,…,Y N в точках X 1 ,…,X N .
По определению разделенные разности первого порядка равны
Разности 2-го порядка определяются с помощью разностей 1-го порядка:
Разделенные разности n-го порядка можно представить в виде
Отсюда следует, что разделенная разность является симметричной функцией относительно узлов X j , т.е. не зависят от порядка расположения входящих в нее переменных X j .
Построим интерполяционный полином Ньютона. Пусть X-произвольная точка отрезка . Рассмотрим разность первого порядка
Из этого выражения находим значение функции в точке:
Разность второго порядка имеет вид
Подставив это выражение в (1.15) получим
Разность 3-го порядка
позволяет представить (1.19) в виде
Продолжая процесс подстановки, получим выражение
которое можно представить в следующей форме
Полином P N -1 (X) является интерполяционным, так как имеют место равенства
Этот полином называется интерполяционным полиномом Ньютона , а R N -1 (X) - остаточным членом формулы Ньютона. Так как по значениям функции в некоторых точках можно единственный интерполяционный полином, то полином Ньютона путем перегруппировки его членов можно преобразовать в интерполяционный полином Лагранжа, для которого каждое из слагаемых суммы (1.18) зависит от всех узлов интерполяции, произвольный m-й член полинома Ньютона зависит только от m первых узлов. Поэтому для полинома Ньютона добавление новых узлов интерполяции приводит лишь к появлению новых слагаемых полинома, без изменения первоначальных.
На практике часто используется интерполяционный полином Ньютона, представленный в виде
который называется формулой Ньютона интерполирования назад.
Метод наименьших квадратов с помощью ортогональных полиномов, интерполяционная формула Форсайта
Рассмотренные выше методы позволяют аппроксимировать функции, заданные экспериментальными данными, с помощью интерполяционных многочленов. На практике интерполяционные формулы применяются в тех случаях, когда ошибки в данных можно не учитывать и число N точек X j является малым. При больших N эти формулы становятся громоздкими, а также возникают трудности, связанные с неустойчивостью интерполяционного процесса на концах отрезка .
В реальных задачах ошибки в экспериментальных данных необходимо учитывать. Если зависимости между параметрами являются достаточно гладкими, то даже при больших N часто нет необходимости выбирать для аппроксимации функций можно использовать метод наименьших квадратов (VYR)/
Предположим, что функция Y=f(X) задана на отрезке экспериментальными значениями
где е j - некоррелируемые случайные величины, имеющие нулевое математическое ожидание и дисперсию у 2 . При аппроксимации функции Y=f(X) алгебраическим полиномом (1.28) с помощью МНК по экспериментальным данным необходимо оценить коэффициенты a k полинома таким образом, чтобы сумма квадратов
была минимальной.
Алгебраический полином (1.28) является частным случаем общей линейной модели
Оценка коэффициентов общей линейной модели сводится к решению системы нормальных уравнений X T Xa = X T Y, которая для приближения (1.28) имеет вид
Оценки коэффициентов.
Решение системы (1.31) существует, если определитель Дn+1 ? 0.
В рамках современной математики задача аппроксимации с помощью полинома (1.28) формулируется как задача оценки коэффициентов модели, представляющей собой комбинацию функций некоторой подсистемы Lm системы базисных функций L={1,X,X 2 ,…,X n ,…}. Влияние плохой обусловленности значительно уменьшается, если вместо модели (1.28) рассматривается модель
представляющая собой линейную комбинацию элементов подсистемы Lm системы ортогональных полиномов L={1,ц 1 (X), ц 2 (X),…, ц n (X),…}.
Система полиномов
ортогональна на в следующем смысле
В настоящее время разработано несколько подходов к построению ортогональных полиномов. Одной из наиболее простых является система полиномов Чебышева. На практике удобной является так же система ортогональных полиномов Форсайта
где и и выбираются из условия ортогональности.
Если аппроксимирующая функция имеет вид (1.34), то
Эту систему уравнений можно представить в матричной форме
с - (n+1)-мерный вектор-столбец неизвестных параметров модели (1.34). Из условия ортогональности матрица системы нормальных уравнений является диагональной:
Из линейной алгебры известно, что матрица, обратная к диагональной, также является диагональной., причем ее элементы равны обратным величинам диагональных элементов исходной матрицы. Поэтому учитывая, что решение нормальной системы уравнений можно найти по формуле
получим оценки коэффициентов модели (1.34)
Оценки коэффициентов не коррелированны между собой и имеют дисперсии
где - дисперсия случайных ошибок эксперимента.
При решении практических задач степень аппроксимирующего полинома обычно неизвестна. Если функция Y=f(X) аппроксимируется с помощью полинома (1.28), то выбор его степени часто осуществляется следующим образом. Начиная с некоторого малого числа n 0 , выбирается возрастающая последовательность целых чисел n 1 ,n 2 ,n 3 ,…,n p ,… и для этих степеней путем решения системы (X T X)a=X T y вычисляются коэффициенты полинома. Для каждого значения n с помощью найденных оценок вычисляются остаточные дисперсии
При увеличении n остаточная дисперсия сначала обычно убывает, а позже наступает момент, когда она начинает возрастать. Поэтому степень полинома n выбирается равной значению n, при котором остаточная дисперсия является минимальной.
Система нормальных уравнений взвешенного метода наименьших квадратов имеет вид (1.29), где
Задачу аппроксимации функции взвешенным методом наименьших квадратов можно также решить, используя ортогональные полиномы. При этом коэффициенты модели (1.34) выбираются из условия минимума функции
Если полиномы образуют ортогональную систему функций, то матрица нормальной системы является диагональной, а решение системы имеет вид
Ортогональные полиномы можно найти с помощью рекуррентных формул
3. Расчёт и графики по каждому методу аппроксимации
Результат работы программы расчета по методу Лагранжа:
Для кривой 1: Для кривой 2:
Рис.2. Зависимость концентрации дырок р от температуры в образцах кремния с примесью бора, полученная по результатам метода Лагранжа.
Результат работы программы расчета по методу Ньютона:
Для кривой 1:Для кривой 2:
Рис.3. Зависимость концентрации дырок р от температуры в образцах кремния с примесью бора, полученная по результатам метода Ньютона.
Результат работы программы расчета по методу Форсайта:
Степень алгебраического полинома М=2
Для кривой 1:
Для кривой 2:
Рис.4. Зависимость концентрации дырок р от температуры в образцах кремния с примесью бора, полученная по результатам метода Форсайта.
Степень алгебраического полинома М=3
Для кривой 1:
Для кривой 2:
Рис.5. Зависимость концентрации дырок р от температуры в образцах кремния с примесью бора, полученная по результатам метода Форсайта.
Степень алгебраического полинома М=4
Для кривой 1:
Для кривой 2:
Рис.6. Зависимость концентрации дырок р от температуры в образцах кремния с примесью бора, полученная по результатам метода Форсайта.
4. Сводный график
Рис.7. Сводный график.
1 - заданный график для «1»
2 - заданный график для «2»
3 - аппроксимированный график по методу Лагранжа для «1»
4 - аппроксимированный график по методу Лагранжа для «2»
5 - аппроксимированный график по методу Ньютона для «1»
6 - аппроксимированный график по методу Ньютона для «2»
7 - аппроксимированный график по методу Форсайта со степенью полинома 2 для «1»
8 - аппроксимированный график по методу Форсайта со степенью полинома 2 для «2»
9 - аппроксимированный график по методу Форсайта со степенью полинома 3 для «1»
10 - аппроксимированный график по методу Форсайта со степенью полинома 3 для «2»
11 - аппроксимированный график по методу Форсайта со степенью полинома 4 для «1»
12 - аппроксимированный график по методу Форсайта со степенью полинома 4 для «2»
5. Анализ точности
Аппроксимация по методу Лагранжа
Погрешность составляет 0,13 %
Погрешность составляет 0,05 %
Аппроксимация по методу Ньютона
Погрешность составляет 0,15 %
Погрешность составляет 0,06 %
Аппроксимация по методу Форсайта со степенью 2
Погрешность составляет 0,71%
Погрешность составляет 0,62 %
Аппроксимация по методу Форсайта со степенью 3
Погрешность составляет 1,21%
Погрешность составляет 0,5 %
Аппроксимация по методу Форсайта со степенью 4
Погрешность составляет 0,12 %
Погрешность составляет 0,05%
Заключение
В своей практике инженер часто сталкивается с необходимостью аналитически описать экспериментально полученные зависимости, представленные графически или таблично. Для этого используются методы аппроксимации, соответствующее алгоритмическое и программное обеспечение.
В данной курсовой работе мы на практике знакомились с различными методами аппроксимации, соответствующим алгоритмическим и программным обеспечением.
Проведя все расчеты можно сделать вывод, что из рассмотренных методов аппроксимации, метод наименьших квадратов со степенью 4 является самым точным.
Список литературы
1. Бронштейн и Семендяев Справочник по математике для ВТУЗов. - М., 1986г.
2. Шафрин Ю.А. Информационные технологии.- М., Лаборатория базовых знаний, 2000г.
3. Конева Н.Е. Информационные технологии в электронике. Методические указания к лабораторному практикуму для студентов специальности 210105 - Электронные приборы и устройства. МГОУ, 2009г.
4. Норенков И.П. Системы автоматизированного проектирования. Учебное пособие, Высшая школа, Москва, 1986г.
5. Вллах И., Сингхал К. Машинные методы анализа и проектирования электронных схем. - М., Радио и связь, 1988г.
6. Чау Л.О., Пен-Ман Лиин. Машинный анализ электронных схем. - М.,Мир.
7. Шур Т. Решение инженерных задач на ЭВМ, - М., 1982г.
8. Чахмахсазян Е.А., Бармаков Ю.Н., Голденберг А.Э. Машинный анализ интегральных схем. - М., Советское радио, 1974г.
9. Бахвалов Н.С., Лапин А.Р., Чижонков Е.В. Численные методы в задачах и упражнениях. - М., Высшая школа, 2000г.
10. Бахвалов Н.С., Кобельков Г.М., Поспелов В.В. Сборник задач по методам вычислений. - М.,Издательство МГУ,1989г.
11. Конева Н.Е. Информационные технологии в электронике. Методические указания к курсовой работе для студентов специальности 210105 - Электронные приборы и устройства. МГОУ, 2009г.
Размещено на Allbest.ru
...Подобные документы
Проведение аппроксимации данных с помощью Excel, расчет площадей (отдельно для выпуклой и вогнутой кривых периферического, серединного и корневого сечения) и целевой функции V с целью нахождения полного объема бетонной строительной конструкции.
контрольная работа , добавлен 26.01.2010
Определение уравнений динамики и передаточных функций элементов системы автоматического управления. Дискретизация последовательного корректирующего звена методом аппроксимации операции интегрирования. Анализ устойчивости автоматической системы управления.
курсовая работа , добавлен 27.02.2014
Балансировка ротора машин и балансировка гибких роторов как задача оценивания дисбалансов. Условие допустимости одной статической балансировки. Оценивание методом наименьших квадратов. Целевая функция метода наименьших квадратов и численные эксперименты.
дипломная работа , добавлен 18.07.2011
Материальный баланс и расход абсорбента. Определение коэффициента диффузии ацетона в воде. Поверхность массопередачи, формула для её расчета. Определение геометрических параметров абсорбера с помощью уравнения массопередач и через высоту единиц переноса.
курсовая работа , добавлен 05.11.2012
Исследование влияния скорости печати на качество оттисков по совмещению красок при многокрасочной флексографской печати. Математическое моделирование как приближённое описание реальных объектов с помощью математических выражений, его главные этапы.
контрольная работа , добавлен 14.04.2011
Нагрев металла перед прокаткой. Автоматизация процесса нагрева металла. Выбор системы регулирования давления. Первичный измерительный преобразователь перепада давления. Метод наименьших квадратов. Измерение и регистрация активного сопротивления.
курсовая работа , добавлен 25.06.2013
Особенности статической настройки, использование пробных заготовок с помощью рабочего калибра. Настройка по пробным заготовкам с помощью универсального измерительного инструмента. Ее проведение с учетом переменных систематических погрешностей и без них.
презентация , добавлен 26.10.2013
Разработка и компоновочные схемы токарных многоцелевых станков. Привод главного движения. Обработка фасонной поверхности с помощью копира. Управление фрикционными муфтами с помощью кулачка. Регулирование подачи с помощью конуса Нортона и гидропривода.
реферат , добавлен 02.07.2015
Получение тонкопленочных покрытий в вакууме, термическое и магнетронное испарение. Конструирование жидкофазного магнетрона с помощью AutoCAD. Методы исследования параметров тонких пленок. Измерение толщины тонкопленочных покрытий с помощью профилометра.
дипломная работа , добавлен 15.06.2012
Усовершенствование шлифовальной операции технологического процесса обработки хвостовой части метчика с помощью методов технического творчества. Совершенствование шлифования цилиндрической поверхности с помощью мозгового штурма и метода проб и ошибок.
Аппроксимацией (приближением) функции называется нахождение такой функции (аппроксимирующей функции ) , которая была бы близка заданной. Критерии близости функций и могут быть различные.
Основная задача аппроксимации - построение приближенной (аппроксимирующей) функции, в целом наиболее близко проходящей около данных точек или около данной непрерывной функции. Такая задача возникает при наличии погрешности в исходных данных (в этом случае нецелесообразно проводить функцию точно через все точки, как в интерполяций) или при желании получить упрощенное математическое описание сложной или неизвестной зависимости.
Рис. 3.6 Метод Лагранжа
Концепция аппроксимации
Близость исходной и аппроксимирующей функций определяется числовой мерой
- критерием аппроксимации (близости). Наибольшее распространение получил квадратичный критерий, равный сумме квадратов отклонений расчетных значений от "экспериментальных" (т.е. заданных), - критерий близости в заданных точках:
Здесь у i - заданные табличные значения функции; у i расч - расчетные значения по аппроксимирующей функции; b i - весовые коэффициенты, учитывающие относительную важность i -и точки (увеличение b ,. приводит при стремлении уменьшить R к уменьшению, прежде всего отклонения в i - й точке, так как это отклонение искусственно увеличено за счет относительно большого значения весового коэффициента).
Квадратичный критерий обладает рядом "хороших" свойств, таких, как дифференцируемость, обеспечение единственного решения задачи аппроксимации при полиномиальных аппроксимирующих функциях.
Другим распространенным критерием близости является следующий:
Этот критерий менее распространен в связи с аналитическими и вычислительными трудностями, связанными с отсутствием гладкости функции и ее дифференцируемости.
Выделяют две основные задачи:
1) получение аппроксимирующей функции, описывающей имеющиеся данные, с погрешностью не хуже заданной;
2) получение аппроксимирующей функции заданной структуры с наилучшей возможной погрешностью.
Чаще всего первая задача сводится ко второй перебором различных аппроксимирующих функций и последующим выбором наилучшей.
Метод наименьших квадратов
Метод базируется на применении в качестве критерия близости суммы квадратов отклонений заданных и расчетных значений. При заданной структуре аппроксимирующей функции у i расч (х) необходимо таким образом подобрать параметры этой функции, чтобы получить наименьшее значение критерия близости, т.е. наилучшую аппроксимацию. Рассмотрим путь нахождения этих параметров на примере полиномиальной функции одной переменной:
Запишем выражение критерия аппроксимации при b i =1 (i =1, 2,…, n ) для полиномиального у i расч (х):
Искомые переменные а j можно найти из необходимого условия минимума R по этим переменным, т.е. dR / d а р = 0 (для р =0, 1,2,…,k). Продифференцируем по а р (р - текущий индекс):
После очевидных преобразований (сокращение на два, раскрытие скобок, изменение порядка суммирования) получим
Перепишем последние равенства
Получилась система n +1 уравнений с таким же количеством неизвестных а j , причем линейная относительно этих переменных. Эта система называется системой нормальных уравнений. Из ее решения находятся параметры а j аппроксимирующей функции, обеспечивающие minR , т.е. наилучшее возможное квадратичное приближение. Зная коэффициенты, можно (если нужно) вычислить и величину R (например, для сравнения различных аппроксимирующих функций). Следует помнить, что при изменении даже одного значения исходных данных (или пары значений х i , у i , или одного из них) все коэффициенты изменят в общем случае свои значения, так как они полностью определяются исходными данными. Поэтому при повторении аппроксимации с несколько изменившимися данными (например, вследствие погрешностей измерения, помех, влияния неучтенных факторов и т.п.) получится другая аппроксимирующая функция, отличающаяся коэффициентами. Обратим внимание на то, что коэффициенты а j полинома находятся из решения системы уравнений, т.е. они связаны между собой. Это приводит к тому, что если какой-то коэффициент вследствие его малости захочется отбросить, придется пересчитывать заново оставшиеся. Можно рассчитать количественные оценки тесноты связи коэффициентов. Существует специальная теория планирования экспериментов, которая
позволяет обосновать и рассчитать значения х i , используемые для аппроксимации, чтобы получить заданные свойства коэффициентов (несвязанность, минимальная дисперсия коэффициентов и т.д.) или аппроксимирующей функции (равная точность описания реальной зависимости в различных направлениях, минимальная дисперсия предсказания значения функции и т.д.).
Рис. 3.7 Влияние степени аппроксимирующего полинома М на точность аппроксимации
В случае постановки другой задачи - найти аппроксимирующую функцию, обеспечивающую погрешность не хуже заданной, - необходимо подбирать и структуру этой функции. Эта задача значительно сложнее предыдущей (найти параметры аппроксимирующей функции заданной структуры, обеспечивающей наилучшую возможную погрешность) и решается в основном путем перебора различных функций и сравнения получающихся мер близости. Для примера на рис. 3.7 приведены для визуального сравнения исходная и аппроксимирующие функции с различной степенью полинома, т.е. функции с различной структурой. Не следует забывать, что с повышением точности аппроксимации растет и сложность функции (при полиномиальных аппроксимирующих функциях), что делает ее менее удобной при использовании.
Рассмотрим решение задачи аппроксимации и интерполяции с шумом в
программе MathCAD (рисунок 3.8).
Пример 3.1. В ходе проведения эксперимента были получены данные, представленные в таблице 3.1. Необходимо способом наименьших квадратов подобрать для заданных значений x и y квадратичную функцию . Построить на одной координатной плоскости экспериментальные данные и аппроксимирующую функцию.
Таблица 3.1 Данные эксперимента
Решение. Для определения коэффициентов квадратичной функции построим дополнительную таблицу 3.2.
Таблица 3.2 Дополнительная таблица
Строим систему уравнений
В нашем случае она будет иметь вид:
Из полученной системы уравнений находим
Искомая зависимость
Строим график экспериментальных данных и найденной зависимости.
Рис.3.8 Аппроксимация и интерполяция в задаче с помехами
Если требуется построить зависимость в виде показательной функции , то необходимо составить систему:
(3.7)
Для этого строится таблица