Нахождение аппроксимирующей функции. Аппроксимация опытных данных

23.09.2019

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

хорошую работу на сайт">

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на 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

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

Математической моделью зависимости одной величины от другой является понятие функции y=f(x) . Аппроксимацией называется получение некой функции, приближенно описывающей какую-то функциональную зависимость f(x), заданную таблицей значений, либо заданную в виде, неудобном для вычислений. При этом эту функцию выбирают такой, чтобы она была максимально удобной для последующих расчетов. Основной подход к решению этой задачи заключается в том, что функция fi(x) выбирается зависящей от нескольких свободных параметров c1, c2, …, cn, значения которых подбираются из некоторого условия близости f(x) и fi(x) . Обоснование способов нахождения удачного вида функциональной зависимости и под- бора параметров составляет задачу теории аппроксимации функций . В зависимости от способа подбора параметров получают различные методы аппроксимации , среди которых наибольшее распространение получили интерполяция и среднеквадратичное приближение . Наиболее простой является линейная аппроксимация , при которой выбирают функцию линейно зависящую от параметров, т. е. в виде обобщенного многочлена: . Интерполяционным многочленом называют алгебраический многочлен степени n-1 , совпадающий с аппроксимируемой функцией в n выбранных точках. Погрешность аппроксимации функции f(x) интерполяционным многочленом степени n-1 , построенным по n точкам, можно оценить, если известна ее производная порядка n. Суть среднеквадратичной аппроксимации заключается в том, что параметры функции подбираются такими, чтобы обеспечить минимум квадрата расстояния между функциямиf(x) и fi (x , c ). Метод наименьших квадратов является частным случаем среднеквадратичной аппроксимации. При использовании метода наименьших квадратов аналогично задаче интерполяции в области значений x , представляющей некоторый интервал [a, b ], где функции f(x) и fi(x) должны быть близки, выбирают систему различных точек (узлов) x1, ..., x m, число которых больше, чем количество искомых параметров. Далее, требуют чтобы сумма квадратов невязок во всех узлах была минимальна.

Интерполяция общего вида

Следует отметить, что ввиду громоздкости многочлены Ньютона и Лагранжа уступают по эффективности расчета многочлену общего вида. Поэтому, когда требуется производить многократные вычисления многочлена, построенного по одной таблице, оказывается выгодно вначале один раз найти коэффициенты с. Коэффициенты находят прямым решением системы с, затем вычисляют его значения по алгоритму Горнера. Недостатком такого вида аппроксимации является необходимость решения системы линейных алгебраических уравнений.

Интерполяционный многочлен Лагранжа

Лагранжем была предложена своя форма записи общего интерполяционного алгебраического многочлена в виде, не требующем решения системы линейных алгебраических уравнений. Следует отметить, что ввиду громоздкости многочлены Ньютона и Лагранжа уступают по эффективности расчета многочлену общего вида.

Интерполяционный многочлен Ньютона

Ньютоном была предложена форма записи общего интерполяционного алгебраического многочлена в виде, не требующем решения системы линейных алгебраических уравнений. Следует отметить, что ввиду громоздкости многочлены Ньютона и Лагранжа уступают по эффективности расчета многочлену общего вида.

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

При расчетах, связанных с обработкой полученных экспериментальных данных, вычислением f (x), разработкой вычислительных методов, встречаются следующие две ситуации: 1. Как установить вид функции y = f (x), если она неизвестна, а известны только некоторые ее значения (полученные из экспериментальных измерений, или из сложных расчетов). 2. Как упростить вычисление известной функции f (x) или ее характеристик, если f (x) имеет слишком сложный вид?

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

Обоснование способа нахождения вида функциональной зависимости и выбора параметров составляет задачу теории аппроксимации функций. В зависимости от способа выбора параметров получены разные методы аппроксимации. Наиболее распространенными являются: интерполяция и среднеквадратичное приближение, частным случаем которого является метод наименьших квадратов.

Наиболее простой является линейная аппроксимация, при которой выбирают функцию линейно зависящую от параметров ci (i = 1, 2, …, n) в виде многочлена: , (1) {φk (x) } – линейно независимые функции, в качестве которых выбирают элементарные функции (тригонометрические, экспоненты, логарифмические или их комбинации).

Интерполяция это один из способов аппроксимации функций. Суть ее в следующем. Для x на интервале , где функции f и должны быть близки, выбирают систему точек (узлов) x 1

В случае линейной аппроксимации (1) система для нахождения коэффициентов сi линейна и имеет следующий вид: (2) При интерполяции для расчетов наиболее удобны обычные алгебраические многочлены.

Интерполяционным многочленом называют алгебраический многочлен степени (n – 1), совпадающий с аппроксимируемой функцией в выбранных n точках (узлах). Общий вид алгебраического многочлена: (3)

Матрица системы (2) в этом случае имеет вид. (4) Ее определитель отличен от нуля, если точки xi разные. Поэтому задача (2) обязательно имеет решение.

При h 0 порядок погрешности интерполяции алгебраическим многочленом равен количеству выбранных узлов n. Величина может быть сделана малой как за счет увеличения n, так и уменьшения h. В практических расчетах обычно используют многочлены невысокого порядка (n 6), в связи с тем, что с ростом n возрастает погрешность вычисления самого многочлена из-за погрешностей округления.

Многочлены можно записать по-разному: P 1(x) = 1 – 2 x + x 2 = (x – 1)2. В зависимости от решаемых задач применяют различные виды представления многочлена и способы интерполяции. Наиболее часто используют интерполяционные многочлены Лагранжа и Ньютона. Их особенность в том, что не надо находить параметры сi , т. к. эти многочлены записаны через значения таблицы (узлы) { (xi, yi), i = 1, …, n }.

Параметрами этой функции являются: xt – текущая точка, в которой находится неизвестное значение функции по известным узлам; x и y – узлы, т. е. массивы известных значений (рекомендуется передавать по адресу); m – количество узлов (размер массивов x и y); Понятно, что циклы должны быть организованы от 0 и до значения, меньшего указанного, например первый цикл: for (i = 0; i

Src="https://present5.com/presentation/91940964_324663347/image-18.jpg" alt="Линейная и квадратичная интерполяция При интерполяции по заданной таблице (узлам) из m > 3"> Линейная и квадратичная интерполяция При интерполяции по заданной таблице (узлам) из m > 3 точек применяют квадратичную для n = 3 или линейную для n = 2 интерполяцию. В этом случае для приближенного вычисления значения функции f в точке x находят в таблице ближайший к этой точке i-й узел, строят интерполяционный многочлен Ньютона первой или второй степени по следующим формулам.

(1) где xi– 1 ≤ x. Т ≤ xi. За приближенное значение функции f (x. T) принимают N 1(x. T) – линейная интерполяция.

(2) где xi– 1 ≤ x. Т ≤ xi+1. За приближенное значение функции f (xt) принимают N 2(xt) – квадратичная интерполяция.

Параметрами функций в рассмотренных схемах линейной и квадратичной интерполяций являются значения, аналогичные рассмотренным в схеме функции расчета многочлена Ньютона. Результат линейной интерполяции yt = N 1(xt) (приближенное значение функции в точке xt) рассчитывается по формуле (1) и возвращается в точку вызова функции, а результат квадратичной интерполяции yt = N 2(xt) – по формуле (2).

Интерполяционный многочлен Лагранжа (8) Многочлены выбраны так, что во всех узлах, кроме k-го, они равны нулю, а в k-м узле – единице: Из выражения (8) видно, что Ln– 1(xi) = yi.

Параметрами функции являются значения, аналогичные рассмотренным ранее схемам. Рассчитанный согласно формуле (8) результат yt возвращается в точку вызова функции. Текст функции, реализующий предложенный алгоритм, может иметь следующий вид:

double Metod (double xt, double *x, int m) { int i, k; double e, yt = 0; for (k = 0; k

В данном случае массив табличных значений функции y не используется, т. к. функция f (x) реализована в виде функции пользователя: double fun (double x) { return «Вид функции f (x)» ; } Вместо блока yt = yt + e yk в схеме алгоритма используем вычисление yt += e * fun (x[k]);

Общий алгоритм аппроксимации функции В заданиях вид функции f (x) известен для того, чтобы можно было найти нужное количество узлов (значений таблицы) на отрезке и сравнить полученные результаты. Пусть на отрезке задана таблица из m известных узлов. Необходимо аппроксимировать f (x) в n точках, n ≥ m, т. е. найти по небольшому количеству известных значений m нужное количество n неизвестных значений функции.

Как и предыдущие, этот урок с аналогичным текстом лучше смотреть не листе Excel (см. Уроки аппроксимации.xls, Лист1)

Аппроксимация в Excel проще всего реализуется с помощью программы построения трендов. Для выяснения особенностей аппроксимации возьмем какой-либо конкретный пример. Например, энтальпию насыщенного пара по книге С.Л.Ривкина и А.А.Александрова "Теплофизические свойства воды и водяного пара", М., "Энергия", 1980г. В колонке P поместим значения давления в кгс/см2, в колонке i" - энтальпию пара на линии насыщения в ккал/кг и построим график с помощью опции или кнопки "Мастер диаграмм".

Щелкнем правой кнопкой по линии на рисунке, затем левой кнопкой по опции "Добавить линию тренда" и смотрим - какие услуги предлагаются нам этой опцией в части реализации аппроксимации в Excel.

Нам предлагается на выбор пять типов аппроксимации: линейная, степенная, логарифмическая, экспоненциальная и полиноминальная. Чем они хороши и чем могут нам помочь? - Нажимаем кнопку F1, затем щелкаем по опции "Мастер ответов" и в появившееся окошко вводим нужное нам слово "аппроксимация", после чего щелкаем по кнопке "Найти". Выбираем в появившемся списке раздел "Формулы для построения линий тренда".

Получаем следующую информацию в несколько измененной нами

редакции:

Линейная:

где b - угол наклона и a - координата пересечения оси абсцисс (свободный член).

Степенная:

Используется для аппроксимации данных по методу наименьших квадратов в соответствии с уравнением:

где c и b - константы.

Логарифмическая:

Используется для аппроксимации данных по методу наименьших квадратов в соответствии с уравнением:

где a и b - константы.

Экспоненциальная:

Используется для аппроксимации данных по методу наименьших квадратов в соответствии с уравнением:

где b и k - константы.

Полиноминальная:

Используется для аппроксимации данных по методу наименьших квадратов в соответствии с уравнением:

y=a+b1*x+b2*x^2+b3*x^3+...b6*x^6

где a, b1, b2, b3,... b6 - константы.

Снова щелкаем по линии рисунка, затем по опции "Добавить линию тренда", далее по опции "Параметры" и ставим флажки в окошках слева от записей: "показывать уравнение на диаграмме" и "поместить на диаг- рамму величину достоверности аппроксимации R^2, после чего щелкаем по кнопке OK. Пробуем все варианты аппроксимации по порядку.

Линейная аппроксимация дает нам R^2=0.9291 - это низкая достоверность и плохой результат.

Для перехода к степенной аппроксимации щелкаем правой кнопкой по линии тренда, затем левой кнопкой - по опции "Формат линии тренда", далее по опциям "Тип" и "Степенная". На этот раз получили R^2=0.999.

Запишем уравнение линии тренда в виде, пригодном для расчетов на листе Excel:

y=634.16*x^0.012

В результате имеем:

Максимальная погрешность аппроксимации получилась на уровне 0.23 ккал/кг. Для аппроксимации экспериментальных данных такой результат был бы чудесным, но для аппроксимации справочной таблицы это не слишком хороший результат. Поэтому попробуем проверить другие варианты аппроксимации в Excel посредством программы построения трендов.

Логарифмическая аппроксимация дает нам R^2=0.9907 - несколько хуже, чем по степенному варианту. Экспоненнта в том варианте, который предлагает программа построения трендов, вообще не подошла - R^2=0.927.

Полиноминальная аппроксимация со степенью 2 (это y=a+b1*x+b2*x^2) обеспечила R^2=0.9896. При степени 3 получили R^2=0.999, но с явным искажением аппроксимируемой кривой, в особенности при P>0.07 кгс/см2. Наконец, пятая степень нам дает R^2=1 - это, как утверждается, максимально тесная связь между исходными данными и их аппроксимацией.

Перепишем уравнение полинома в пригодном для расчетов на листе Excel виде:

y=1E+07*x^5-4E+06*x^4+469613*x^3-27728*x^2+1020.8*x+592.44

и сравним результат аппроксимации с исходной таблицей:

Оказалось, что R^2=1 в данном случае лишь блестящая ложь. Реально, самый лучший результат полиноминальной аппроксимации дал самый простой полином вида y=a+b1*x+b2*x^2. Но его результат хуже, чем в варианте степенной аппроксимации y=634.16*x^0.012, где максимальная погрешность аппроксимации находилась на уровне 0.23 ккал/кг. Это все, что мы можем выжать из программы построения трендов. Посмотрим, что мы можем выжать из функции Линейн. Для нее попробуем вариант степенной аппроксимации.

Примечание. Обнаруженный дефект связан с работой программы построения трендов, но не с методом МНК.

6.7.3. Технология решения задач аппроксимации функций средствами математических пакетов

6.7.3.1. Технология решения задач аппроксимации средствами MathCad

6.7.3.2. Технология решения задач аппроксимации функций в среде MatLab

6.7.4. Тестовые задания по теме «Аппроксимация функций»

Постановка задачи аппроксимации

Задача аппроксимации (приближения) функции заключается в замене некоторой функции y=f(x) другой функцией g(x, a 0 , a 1 , ..., a n) таким образом, чтобы отклонение
g(x, a0, a1, ..., an) от f(x) удовлетворяло в некоторой области (на множестве Х) определённому условию. Если множество Х дискретно (состоит из отдельных точек), то приближение называется точечным, если же Х есть отрезок , то приближение называется интегральным.

Если функция f(x)задана таблично, то аппроксимирующая функция
g(x, a 0 , a 1 , ..., a n) должна удовлетворять определённому критерию соответствия ее значений табличным данным.

Подбор эмпирических формул состоит из двух этапов – выбора вида формулы и определения содержащихся в ней коэффициентов.

Если неизвестен вид аппроксимирующей зависимости, то в качестве эмпирической формулы обычно выбирают один из известных видов функций: алгебраический многочлен, показательную, логарифмическую или другую функцию в зависимости от свойств аппроксимируемой функции. Поскольку аппроксимирующая функция, полученная эмпирическим путем, в ходе последующих исследований, как правило, подвергается преобразованиям, то стараются выбирать наиболее простую формулу, удовлетворяющую требованиям точности. Часто в качестве эмпирической формулы выбирают зависимость, описываемую алгебраическим многочленом невысокого порядка.

Наиболее распространен способ выбора функции в виде многочлена:

где φ(x,a 0 ,a 1 ,...,a n)=a 0 φ 0 (x)+a 1 φ 1 (x)+...+a m φ m (x), а

φ 0 (x), φ 1 (x), ..., φ m (x) – базисные функции (m-степень аппроксимирующего полинома).

Один из возможных базисов – степенной: φ 0 (x)=1, φ 1 (x)=х, ..., φ m (x)=х m .

Обычно степень аппроксимирующего полинома m<e , то количество базисных функций выбирается так, чтобы . Здесь S – численное значение критерия близости аппроксимирующей функции φ(x, a 0 , a 1 , ..., a n) и табличных данных. Отклонения между опытными данными и значениями эмпирической функции

e i = φ(x i , a 0 , a 1 , ..., a m) – y i , i = 0,1,2,...,n.

Методы определения коэффициентов выбранной эмпирической функции различаются критерием минимизации отклонений.

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

Одним из способов определения параметров эмпирической формулы является метод наименьших квадратов. В этом методе параметры a 0 , a 1 , ..., a n определяются из условия минимума суммы квадратов отклонений аппроксимирующей функции от табличных данных.

Вектор коэффициентов a T определяют из условия минимизации

где (n+1) – количество узловых точек.

Условие минимума функции Е приводит к системе линейных уравнений относительно параметров a 0 , a 1 , ..., a m . Эта система называется системой нормальных уравнений, её матрица – матрица Грама . Элементами матрицы Грама являются суммы скалярных произведений базисных функций

Для получения искомых значений параметров следует составить и решить систему (m+1) уравнения

Пусть в качестве аппроксимирующей функции выбрана линейная зависимость y= a 0 +a 1 x . Тогда

Условия минимума:

Тогда первое уравнение имеет вид

Раскрывая скобки и разделив на постоянный коэффициент, получим

.

Первое уравнение принимает следующий окончательный вид:

.

Для получения второго уравнения,приравняем нулю частную производную по а1:

.

.

Система линейных уравнений для нахождения коэффициентов многочлена (линейная аппроксимация):

Введем следующие обозначения - средние значения исходных данных. Во введенных обозначениях решениями системы являются

.

В случае применения метода наименьших квадратов для определения коэффициентов аппроксимирующего многочлена второй степени y=a 0 +a 1 x+а 2 х 2 критерий минимизации имеет вид

.

Из условия получим следующую систему уравнений:

Решение этой системы уравнений относительно а 0 , а 1 , а 2 позволяет найти коэффициенты эмпирической формулы - аппроксимирующего многочлена 2-го порядка. При решении системы линейных уравнений могут быть применены численные методы.

В случае степенного базиса (степень аппроксимирующего полинома равна m) матрица Грама системы нормальных уравнений G и столбец правых частей системы нормальных уравнений имеют вид

G =

В матричной форме система нормальных уравнений примет вид:

Решение системы нормальных уравнений

найдется из выражения

В качестве меры уклонения заданных значений функции y 0 , y 1 , ..., y n от многочлена степени m - φ(x)=a 0 φ 0 (x)+a 1 φ 1 (x)+...+a m φ m (x) ,

принимается величина

(n+1) – количество узлов, m – степень аппроксимирующего многочлена, n+1>=m.

На рис.6.7.2-1 приведена укрупненная схема алгоритма метода наименьших квадратов.

Рис. 6.7.2-1. Укрупненная схема алгоритма метода наименьших квадратов

Данная схема алгоритма метода наименьших квадратов является укрупненной и отражает основные процессы метода, где n+1 – количество точек, в которых известны значения х i , y i ; i=0,1,…, n.

Блок вычисления коэффициентов предполагает вычисление коэффициентов при неизвестных с 0 , с 1 , …, с m и свободных членов системы из m+1 линейных уравнений.

Следующий блок – блок решения системы уравнений – предполагает вычисление коэффициентов аппроксимирующей функции с 0 , с 1 , …, с m .

Пример 6.7.2-1. Аппроксимировать следующие данные многочленом второй степени, используя метод наименьших квадратов.

x 0.78 1.56 2.34 3.12 3.81
y 2.50 1.20 1.12 2.25 4.28

Запишем в следующую таблицу элементы матрицы Грамма и столбец свободных членов:

i x x 2 x 3 x 4 y xy x 2 y
0.78 0.608 0.475 0.370 2.50 1.950 1.520
1.56 2.434 3.796 5.922 1.20 1.872 2.920
2.34 5.476 12.813 29.982 1.12 2.621 6.133
3.12 9.734 30.371 94.759 2.25 7.020 21.902
3.81 14.516 55.306 210.72 4.28 16.307 62.129
11.61 32.768 102.76 341.75 11.35 29.770 94.604

Система нормальных уравнений выглядит следующим образом

Решением этой системы являются:

а0 = 5.022; а1 =-4.014; а2=1.002.

Искомая аппроксимирующая функция

Сравним исходные значения yсо значениями аппроксимирующего многочлена, вычисленными в тех же точках:

Вычислим среднеквадратическое отклонение (невязку)

.


Пример 6.7.3-1. Получить аппроксимирующие полиномы первой и второй степени методом наименьших квадратов для функции, заданной таблично.

Пример 6.7.3-2. Осуществить аппроксимацию таблично заданной функции многочленом 1-й, 2-й и 3-й степени.

В этом примере рассмотрено использование функции linfit(x,y,f), где x,y- соответственно векторы значений аргументов и функции, а f – символьный вектор базисных функций. Использование этой функции позволяет определить вектор коэффициентов аппроксимации методом наименьших квадратов и далее невязку - среднеквадратическую погрешность приближения исходных точек к аппроксимирующей функции (сkо). Степень аппроксимирующего многочлена задается при описании символьного вектора f. В примере представлена аппроксимация таблично заданной функции многочленом 1-й, 2-й и 3-й степени. Вектор s представляет собой набор аппроксимирующих коэффициентов, что позволяет получить аппроксимирующую функцию в явном виде.

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

expfit(X,Y,g) Решение ОДУ 2-го порядка вида у”=F(x, y, z), где z=y’ также может быть получено методом Рунге-Кутты 4-го порядка. Ниже приведены формулы для решения ОДУ:

В этих функциях: х – вектор аргументов, элементы которого расположены в порядке возрастания; y – вектор значений функции; g – вектор начальных приближений коэффициентов a, b и с; t - значение аргумента, при котором определяется функция.

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

Пример 6.7.3-3. Найти аппроксимирующие полиномы первой, второй, третьей и четвертой степени и вычислить коэффициенты корреляции.

Помимо вычисления значений функций в пределах интервала данных все рассмотренные ранее функции могут осуществлять экстраполяцию (прогнозирование поведения функции за пределами интервала заданных точек) с помощью зависимости, основанной на анализе расположения нескольких исходных точек на границе интервала данных. В Mathcad имеется и специальная функция предсказания predict(Y, m, n), где Y – вектор заданных значений функции, обязательно взятых через равные интервалы аргумента, а m – число последовательных значений Y, на основании которых функция predict возвращает n значений Y.

Значений аргумента для данных не требуется, поскольку по определению функция действует на данных, идущих друг за другом с одинаковым шагом. Функция использует линейный алгоритм предсказания, который точен, когда экстраполируемая функция гладкая. Функция может быть полезна, когда требуется экстраполировать данные на небольшие расстояния. Вдали от исходных данных результат чаще всего оказывается неудовлетворительным.

Пример 6.7.3-4. Аппроксимировать функцию, заданную таблично, многочленом по МНК.

В этом примере рассмотрено использование функции p=polyfit(x,y,n), где x,y – соответственно векторы значений аргументов и функции, n – порядок аппроксимирующего полинома, а p – полученный в результате вектор коэффициентов аппроксимирующего полинома длинной n+1.

>> x=; >> x x = 1.2000 1.4000 1.6000 1.8000 2.0000 >> y=[-1.15,-0.506,0.236,0.88,1.256]; >> y y = -1.1500 -0.5060 0.2360 0.8800 1.2560 >> % >> % >> p1=polyfit(x,y,1); >> p1 p1 = 3.0990 -4.8152 >> y1=polyval(p1,x); >> y1 y1 = -1.0964 -0.4766 0.1432 0.7630 1.3828 >> cko1=sqrt(1/5*sum((y-y1).^2)); >> cko1 cko1 = 0.0918 >> plot(x,y,"ko",x,y1,"r-") >> p2=polyfit(x,y,2); >> p2 p2 = -1.1321 6.7219 -7.6229 >> y2=polyval(p2,x); >> y2 y2 = -1.1870 -0.4313 0.2338 0.8083 1.2922 >> cko2=sqrt(1/5*sum((y-y2).^2)); >> cko2 cko2 = 0.0518 >> plot(x,y,"ko",x,y2,"r-")

Пример 6.7.3-5. Аппроксимировать функцию, заданную таблично, многочленом по МНК.

Пример 6.7.3-5. Аппроксимировать функцию, заданную таблично, полиномами различной степени по МНК.


6.7.4. Тестовые задания по теме
«Аппроксимация функций»

Аппроксимация – это

1) получение функции более простого вида, описывающей исходную с достаточной степенью точности

2) частный случай интерполяции

3) замена исходной функции функцией другого вида

4) в списке нет правильного ответа

Тема 6.7. Аппроксимация функций

6.7.1. Постановка задачи аппроксимации

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

Похожие статьи