Метод наименьших квадратов аппроксимация квадратичной функции. Курсовая работа: Аппроксимация функции методом наименьших квадратов. Общая методика решения

Которое находит самое широкое применение в различных областях науки и практической деятельности. Это может быть физика, химия, биология, экономика, социология, психология и так далее, так далее. Волею судьбы мне часто приходится иметь дело с экономикой, и поэтому сегодня я оформлю вам путёвку в удивительную страну под названием Эконометрика =) …Как это не хотите?! Там очень хорошо – нужно только решиться! …Но вот то, что вы, наверное, определённо хотите – так это научиться решать задачи методом наименьших квадратов . И особо прилежные читатели научатся решать их не только безошибочно, но ещё и ОЧЕНЬ БЫСТРО;-) Но сначала общая постановка задачи + сопутствующий пример:

Пусть в некоторой предметной области исследуются показатели , которые имеют количественное выражение. При этом есть все основания полагать, что показатель зависит от показателя . Это полагание может быть как научной гипотезой, так и основываться на элементарном здравом смысле. Оставим, однако, науку в сторонке и исследуем более аппетитные области – а именно, продовольственные магазины. Обозначим через:

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

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

Предположим, что после проведения наблюдений/опытов/подсчётов/танцев с бубном в нашем распоряжении оказываются числовые данные:

С гастрономами, думаю, всё понятно: – это площадь 1-го магазина, – его годовой товарооборот, – площадь 2-го магазина, – его годовой товарооборот и т.д. Кстати, совсем не обязательно иметь доступ к секретным материалам – довольно точную оценку товарооборота можно получить средствами математической статистики . Впрочем, не отвлекаемся, курс коммерческого шпионажа – он уже платный =)

Табличные данные также можно записать в виде точек и изобразить в привычной для нас декартовой системе .

Ответим на важный вопрос: сколько точек нужно для качественного исследования?

Чем больше, тем лучше. Минимально допустимый набор состоит из 5-6 точек. Кроме того, при небольшом количестве данных в выборку нельзя включать «аномальные» результаты. Так, например, небольшой элитный магазин может выручать на порядки больше «своих коллег», искажая тем самым общую закономерность, которую и требуется найти!

Если совсем просто – нам нужно подобрать функцию , график которой проходит как можно ближе к точкам . Такую функцию называют аппроксимирующей (аппроксимация – приближение) или теоретической функцией . Вообще говоря, тут сразу появляется очевидный «претендент» – многочлен высокой степени, график которого проходит через ВСЕ точки. Но этот вариант сложен, а зачастую и просто некорректен (т.к. график будет всё время «петлять» и плохо отражать главную тенденцию) .

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


Как оценить точность данного приближения? Вычислим и разности (отклонения) между экспериментальными и функциональными значениями (изучаем чертёж) . Первая мысль, которая приходит в голову – это оценить, насколько великА сумма , но проблема состоит в том, что разности могут быть и отрицательны (например, ) и отклонения в результате такого суммирования будут взаимоуничтожаться. Поэтому в качестве оценки точности приближения напрашивается принять сумму модулей отклонений:

или в свёрнутом виде: (вдруг кто не знает: – это значок суммы, а – вспомогательная переменная-«счётчик», которая принимает значения от 1 до ) .

Приближая экспериментальные точки различными функциями, мы будем получать разные значения , и очевидно, где эта сумма меньше – та функция и точнее.

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

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

И сейчас мы возвращаемся к другому важному моменту: как отмечалось выше, подбираемая функция должна быть достаточно простА – но ведь и таких функций тоже немало: линейная , гиперболическая , экспоненциальная , логарифмическая , квадратичная и т.д. И, конечно же, тут сразу бы хотелось «сократить поле деятельности». Какой класс функций выбрать для исследования? Примитивный, но эффективный приём:

– Проще всего изобразить точки на чертеже и проанализировать их расположение. Если они имеют тенденцию располагаться по прямой, то следует искать уравнение прямой с оптимальными значениями и . Иными словами, задача состоит в нахождении ТАКИХ коэффициентов – чтобы сумма квадратов отклонений была наименьшей.

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

А теперь обратите внимание, что в обоих случаях речь идёт о функции двух переменных , аргументами которой являются параметры разыскиваемых зависимостей :

И по существу нам требуется решить стандартную задачу – найти минимум функции двух переменных .

Вспомним про наш пример: предположим, что «магазинные» точки имеют тенденцию располагаться по прямой линии и есть все основания полагать наличие линейной зависимости товарооборота от торговой площади. Найдём ТАКИЕ коэффициенты «а» и «бэ», чтобы сумма квадратов отклонений была наименьшей. Всё как обычно – сначала частные производные 1-го порядка . Согласно правилу линейности дифференцировать можно прямо под значком суммы:

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

Составим стандартную систему:

Сокращаем каждое уравнение на «двойку» и, кроме того, «разваливаем» суммы:

Примечание : самостоятельно проанализируйте, почему «а» и «бэ» можно вынести за значок суммы. Кстати, формально это можно проделать и с суммой

Перепишем систему в «прикладном» виде:

после чего начинает прорисовываться алгоритм решения нашей задачи:

Координаты точек мы знаем? Знаем. Суммы найти можем? Легко. Составляем простейшую систему двух линейных уравнений с двумя неизвестными («а» и «бэ»). Систему решаем, например, методом Крамера , в результате чего получаем стационарную точку . Проверяя достаточное условие экстремума , можно убедиться, что в данной точке функция достигает именно минимума . Проверка сопряжена с дополнительными выкладками и поэтому оставим её за кадром (при необходимости недостающий кадр можно посмотреть ) . Делаем окончательный вывод:

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

Рассматриваемая задача имеет большое практическое значение. В ситуации с нашим примером, уравнение позволяет прогнозировать, какой товарооборот («игрек») будет у магазина при том или ином значении торговой площади (том или ином значении «икс») . Да, полученный прогноз будет лишь прогнозом, но во многих случаях он окажется достаточно точным.

Я разберу всего лишь одну задачу с «реальными» числами, поскольку никаких трудностей в ней нет – все вычисления на уровне школьной программы 7-8 класса. В 95 процентов случаев вам будет предложено отыскать как раз линейную функцию, но в самом конце статьи я покажу, что ничуть не сложнее отыскать уравнения оптимальной гиперболы, экспоненты и некоторых других функций.

По сути, осталось раздать обещанные плюшки – чтобы вы научились решать такие примеры не только безошибочно, но ещё и быстро. Внимательно изучаем стандарт:

Задача

В результате исследования взаимосвязи двух показателей, получены следующие пары чисел:

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

Заметьте, что «иксовые» значения – натуральные, и это имеет характерный содержательный смысл, о котором я расскажу чуть позже; но они, разумеется, могут быть и дробными. Кроме того, в зависимости от содержания той или иной задачи как «иксовые», так и «игрековые» значения полностью или частично могут быть отрицательными. Ну а у нас дана «безликая» задача, и мы начинаем её решение :

Коэффициенты оптимальной функции найдём как решение системы:

В целях более компактной записи переменную-«счётчик» можно опустить, поскольку и так понятно, что суммирование осуществляется от 1 до .

Расчёт нужных сумм удобнее оформить в табличном виде:


Вычисления можно провести на микрокалькуляторе, но гораздо лучше использовать Эксель – и быстрее, и без ошибок; смотрим короткий видеоролик:

Таким образом, получаем следующую систему :

Тут можно умножить второе уравнение на 3 и из 1-го уравнения почленно вычесть 2-е . Но это везение – на практике системы чаще не подарочны, и в таких случаях спасает метод Крамера :
, значит, система имеет единственное решение.

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

Получены правые части соответствующих уравнений, значит, система решена правильно.

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

В отличие от прямой зависимости товарооборота магазина от его площади, найденная зависимость является обратной (принцип «чем больше – тем меньше») , и этот факт сразу выявляется по отрицательному угловому коэффициенту . Функция сообщает нам о том, что с увеличение некоего показателя на 1 единицу значение зависимого показателя уменьшается в среднем на 0,65 единиц. Как говорится, чем выше цена на гречку, тем меньше её продано.

Для построения графика аппроксимирующей функции найдём два её значения:

и выполним чертёж:


Построенная прямая называется линией тренда (а именно – линией линейного тренда, т.е. в общем случае тренд – это не обязательно прямая линия) . Всем знакомо выражение «быть в тренде», и, думаю, что этот термин не нуждается в дополнительных комментариях.

Вычислим сумму квадратов отклонений между эмпирическими и теоретическими значениями. Геометрически – это сумма квадратов длин «малиновых» отрезков (два из которых настолько малы, что их даже не видно) .

Вычисления сведём в таблицу:


Их можно опять же провести вручную, на всякий случай приведу пример для 1-й точки:

но намного эффективнее поступить уже известным образом:

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

Найдем соответствующую сумму квадратов отклонений – чтобы различать, я обозначу их буквой «эпсилон». Техника точно такая же:


И снова на всякий пожарный вычисления для 1-й точки:

В Экселе пользуемся стандартной функцией EXP (синтаксис можно посмотреть в экселевской Справке) .

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

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

На этом решение закончено, и я возвращаюсь к вопросу о натуральных значениях аргумента. В различных исследованиях, как правило, экономических или социологических, натуральными «иксами» нумеруют месяцы, годы или иные равные временнЫе промежутки. Рассмотрим, например, такую задачу.

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

Как известно, между величинами может существовать точная (функциональная) связь, когда одному значению аргумента соответствует одно определенное значение.

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

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

В данной курсовой работе программа на языке Pascal разработана в оболочке PascalABC версия 1.0 beta. Решение задачи в среде MathCad производили в Mathcad версия 14.0.0.163.

Постановка задачи

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

1. Разработать алгоритм нахождения коэффициентов трёх аппроксимирующих полиномов (многочленов) вида

для табулированной функции y=f(x):

для степени полиномов n=2, 4, 5.

2. Построить блок-схему алгоритма.

3. Создать программу на языке Pascal, реализующую разработанный алгоритм.

5. Построить графики 3-х полученных приближающих функций в одной системе координат. На графике должны содержаться и исходные точки i , y i ) .

6. Решить задачу средствами MathCAD.

Результаты решения задачи с помощью созданной программы на языке Pascal и в среде MathCAD нужно представить в виде построенных с помощью найденных коэффициентов трёх полиномов; таблицы, содержащей полученные с помощью найденных полиномов значения функции в точках хi и среднеквадратичных отклонений.

Построение эмпирических формул методом наименьших квадратов

Очень часто, особенно при анализе эмпирических данных возникает необходимость найти в явном виде функциональную зависимость между величинами x и y , которые получены в результате измерений.

При аналитическом исследовании взаимосвязи между двумя величинами x и y производят ряд наблюдений и в результате получается таблица значений:

x ¼ ¼
y ¼ ¼

Эта таблица обычно получается как итог каких-либо экспериментов, в которых

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

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

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

Метод наименьших квадратов (в англоязычной литературе Ordinary Least Squares, OLS) - математический метод, основанный на определении аппроксимирующей функции, которая строится в ближайшей близости от точек из заданного массива экспериментальных данных. Близость исходной и аппроксимирующей функции F(x) определяется числовой мерой, а именно: сумма квадратов отклонений экспериментальных данных от аппроксимирующей кривой F(x) должна быть наименьшей.

Аппроксимирующая кривая, построенная по методу наименьших квадратов

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

Для решения переопределенных систем уравнений, когда количество уравнений превышает количество неизвестных;

Для поиска решения в случае обычных (не переопределенных) нелинейных систем уравнений;

Для аппроксимации точечных значений некоторой аппроксимирующей функцией.

Аппроксимирующая функция по методу наименьших квадратов определяется из условия минимума суммы квадратов отклонений расчетной аппроксимирующей функции от заданного массива экспериментальных данных. Данный критерий метода наименьших квадратов записывается в виде следующего выражения:

Значения расчетной аппроксимирующей функции в узловых точках ,

Заданный массив экспериментальных данных в узловых точках .

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

В зависимости от условий задачи аппроксимирующая функция представляет собой многочлен степени m

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

∙ В случае если степень аппроксимирующей функции m=1, то мы аппроксимируем табличную функцию прямой линией (линейная регрессия).

∙ В случае если степень аппроксимирующей функции m=2, то мы аппроксимируем табличную функцию квадратичной параболой (квадратичная аппроксимация).

∙ В случае если степень аппроксимирующей функции m=3, то мы аппроксимируем табличную функцию кубической параболой (кубическая аппроксимация).

В общем случае, когда требуется построить аппроксимирующий многочлен степени m для заданных табличных значений, условие минимума суммы квадратов отклонений по всем узловым точкам переписывается в следующем виде:

- неизвестные коэффициенты аппроксимирующего многочлена степени m;

Количество заданных табличных значений.

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

Преобразуем полученную линейную систему уравнений: раскроем скобки и перенесем свободные слагаемые в правую часть выражения. В результате полученная система линейных алгебраических выражений будет записываться в следующем виде:

Данная система линейных алгебраических выражений может быть переписана в матричном виде:

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

Аппроксимация исходных данных линейной зависимостью

(линейная регрессия)

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

Координаты узловых точек таблицы;

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

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

Преобразуем полученную линейную систему уравнений.

Решаем полученную систему линейных уравнений. Коэффициенты аппроксимирующей функции в аналитическом виде определяются следующим образом (метод Крамера):

Данные коэффициенты обеспечивают построение линейной аппроксимирующей функции в соответствии с критерием минимизации суммы квадратов аппроксимирующей функции от заданных табличных значений (экспериментальные данные).

Алгоритм реализации метода наименьших квадратов

1. Начальные данные:

Задан массив экспериментальных данных с количеством измерений N

Задана степень аппроксимирующего многочлена (m)

2. Алгоритм вычисления:

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

Коэффициенты системы уравнений (левая часть уравнения)

- индекс номера столбца квадратной матрицы системы уравнений

Свободные члены системы линейных уравнений (правая часть уравнения)

- индекс номера строки квадратной матрицы системы уравнений

2.2. Формирование системы линейных уравнений размерностью .

2.3. Решение системы линейных уравнений с целью определения неизвестных коэффициентов аппроксимирующего многочлена степени m.

2.4.Определение суммы квадратов отклонений аппроксимирующего многочлена от исходных значений по всем узловым точкам

Найденное значение суммы квадратов отклонений является минимально-возможным.

Аппроксимация с помощью других функций

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

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

Рассмотрим случай, когда аппроксимирующая функция задана логарифмической функцией вида:

Пример.

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

В результате их выравнивания получена функция

Используя метод наименьших квадратов , аппроксимировать эти данные линейной зависимостью y=ax+b (найти параметры а и b ). Выяснить, какая из двух линий лучше (в смысле метода наименьших квадратов) выравнивает экспериментальные данные. Сделать чертеж.

Суть метода наименьших квадратов (МНК).

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

Таким образом, решение примера сводится к нахождению экстремума функции двух переменных.

Вывод формул для нахождения коэффициентов.

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

Решаем полученную систему уравнений любым методом (например методом подстановки или ) и получаем формулы для нахождения коэффициентов по методу наименьших квадратов (МНК).

При данных а и b функция принимает наименьшее значение. Доказательство этого факта приведено .

Вот и весь метод наименьших квадратов. Формула для нахождения параметра a содержит суммы , , , и параметр n - количество экспериментальных данных. Значения этих сумм рекомендуем вычислять отдельно. Коэффициент b находится после вычисления a .

Пришло время вспомнить про исходый пример.

Решение.

В нашем примере n=5 . Заполняем таблицу для удобства вычисления сумм, которые входят в формулы искомых коэффициентов.

Значения в четвертой строке таблицы получены умножением значений 2-ой строки на значения 3-ей строки для каждого номера i .

Значения в пятой строке таблицы получены возведением в квадрат значений 2-ой строки для каждого номера i .

Значения последнего столбца таблицы – это суммы значений по строкам.

Используем формулы метода наименьших квадратов для нахождения коэффициентов а и b . Подставляем в них соответствующие значения из последнего столбца таблицы:

Следовательно, y = 0.165x+2.184 - искомая аппроксимирующая прямая.

Осталось выяснить какая из линий y = 0.165x+2.184 или лучше аппроксимирует исходные данные, то есть произвести оценку методом наименьших квадратов.

Оценка погрешности метода наименьших квадратов.

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

Так как , то прямая y = 0.165x+2.184 лучше приближает исходные данные.

Графическая иллюстрация метода наименьших квадратов (мнк).

На графиках все прекрасно видно. Красная линия – это найденная прямая y = 0.165x+2.184 , синяя линия – это , розовые точки – это исходные данные.

Для чего это нужно, к чему все эти аппроксимации?

Я лично использую для решения задач сглаживания данных, задач интерполяции и экстраполяции (в исходном примере могли бы попросить найти занчение наблюдаемой величины y при x=3 или при x=6 по методу МНК). Но подробнее поговорим об этом позже в другом разделе сайта.

Доказательство.

Чтобы при найденных а и b функция принимала наименьшее значение, необходимо чтобы в этой точке матрица квадратичной формы дифференциала второго порядка для функции была положительно определенной. Покажем это.

АППРОКСИМАЦИЯ ФУНКЦИИ МЕТОДОМ НАИМЕНЬШИХ

КВАДРАТОВ


1. Цель работы

2. Методические указания

2.2 Постановка задачи

2.3 Методика выбора аппроксимирующей функции

2.4 Общая методика решения

2.5 Методика решения нормальных уравнений

2.7 Методика вычисления обратной матрицы

3. Ручной счет

3.1 Исходные данные

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

3.3 Решение систем методом обратной матрицы

4. Схема алгоритмов

5. Текст программы

6. Результаты машинного расчета

1. Цель работы

Настоящая курсовая работа является завершающим разделом дисциплины «Вычислительная математика и программирование» и требует от студента в процессе ее выполнения решения следующих задач:

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

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

2. Методические указания

2.2 Постановка задачи

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

2.3 Методика выбора аппроксимирующей функции

Аппроксимирующую функцию выбирают из некоторого семейства функций, для которого задан вид функции, но остаются неопределенными (и подлежат определению) её параметры т.е.

Определение аппроксимирующей функции φ разделяется на два основных этапа:

Подбор подходящего вида функции ;

Нахождение ее параметров в соответствии с критерием МНК.

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

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

2.4 Общая методика решения

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

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

Последующее сводиться к отысканию минимума этой функции переменных С k ; определение значений С k =C k * , к=1,m, соответствующих этому элементу I, и является целью решаемой задачи.


Типы функций Таблица 1

Вид функции Название функции
Y=C 1 +C 2 ·x Линейная
Y=C 1 +C 2 ·x+C 3 ·x 2 Квадратичная (параболическая)
Y= Рациональная(полином n -й степени)
Y=C 1 +C 2 · Обратно пропорциональная
Y=C 1 +C 2 · Степенная дробно-рациональная
Y= Дробно-рациональная(первой степени)
Y=C 1 +C 2 ·X C3 Степенная
Y=C 1 +C 2 ·a C3 · x Показательная
Y=C 1 +C 2 ·log a x Логарифмическая
Y=C 1 +C 2 ·X n (0 Иррациональная, алгебраическая
Y=C 1 ·sinx+C 2 cosx Тригонометрические функции (и обратные к ним)

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

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

Полученные m равенств следует рассматривать как систему уравнений относительно искомых С 1 , С 2 ,…, С m . При произвольном виде функциональной зависимости (1) уравнения (3) оказывается нелинейным относительно величин C k и их решение требует применение приближенных численных методов.

Использование равенства (3) дают, лишь необходимые, но недостаточные условия минимума (2). Поэтому требуется уточнить, обеспечивают ли найденные значения C k * именно минимум функции . В общем случае такое уточнение выходит за рамки данной курсовой работы, и предлагаемые для курсовой работы задания подобраны так, что найденное решение системы (3) отвечает именно минимуму I. Однако, поскольку величина I неотрицательна (как сумма квадратов) и нижняя её граница есть 0 (I=0), то, если существует решение системы (3) единственно, оно отвечает именно минимуму I.

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

2.5 Методика решения нормальных уравнений

Один из возможных способов минимизации критерия аппроксимации (2) предполагает решение системы нормальных уравнений (3). При выборе в качестве аппроксимирующей функции линейной функции искомых параметров нормальные уравнения представляют собой систему линейных алгебраических уравнений.

Систему n линейных уравнений общего вида:

(4) можно записать посредством матричных обозначений в следующем виде: А·Х=В,

; ; (5)

квадратная матрица А называется матрицей системы , а вектора Х и В соответственно вектором-столбцом неизвестных систем и вектором-столбцом ее свободных членов .

В матричном виде исходную систему n линейных уравнений можно записать и так:

Решение системы линейных уравнений сводиться к отысканию значений элементов вектора-столбца (х i), называемых корнями системы. Чтобы эта система имела единственное решение, входящее в нее n уравнение должно быть линейно независимым. Необходимым и достаточным условием этого является неравенство нулю определителя системы, т.е. Δ=detA≠0.

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

Прямые и конечные методы позволяют найти решение системы уравнений за конечное число шагов. Это решение будет точным, если все промежутки вычисления проводятся с ограниченной точностью.

2.7 Методика вычисления обратной матрицы

Один из методов решения системы линейных уравнений (4), записываем в матричной форме А·Х=В, связан с использованием обратной матрицы А -1 . В этом случае решение системы уравнений получается в виде

где А -1 –матрица, определяемая следующим образом.

Пусть А –квадратная матрица размером n х n с ненулевым определителем detA≠0. Тогда существует обратная матрица R=A -1 , определяемая условием A·R=E,

где Е –единичная матрица, все элементы главной диагонали которой равны I, а элементы вне этой диагонали -0, Е=, где Е i –вектор-столбец. Матрица К –квадратная матрица размером n х n.

где Rj –вектор-столбец.

Рассмотрим ее первый столбец R=(r 11 , r 21 ,…, r n 1) T , где Т –означает транспонирование. Нетрудно проверить, что произведение A·R равно первому столбцу E 1 =(1, 0, …, 0) Т единичной матрицы Е, т.е. вектор R 1 можно рассмотреть как решение системы линейных уравнений A·R 1 =E 1. Аналогично m –й столбец матрицы R , Rm, 1≤ m ≤ n, представляет собой решение уравнения A·Rm=Em, где Em=(0, …, 1, 0) T m –й столбец единичной матрицы Е.

Таким образом, обратная матрица R представляет собой набор из решений n систем линейных уравнений

A·Rm=Em , 1≤ m ≤ n.

Для решения этих систем можно применять любые методы, разработанные для решения алгебраических уравнений. Однако метод Гаусса дает возможность решать все эти n систем одновременно, а независимо друг от друга. Действительно, все эти системы уравнений отличаются только правой частью, а все преобразования, которые проводятся в процессе прямого хода метода Гаусса, полностью определяются элементами матрицы коэффициентов (матрицы А). Следовательно, в схемах алгоритмов изменению подлежат только блоки, связанные с преобразованием вектора В. В нашем случае одновременно будут преобразовываться n векторов Em, 1≤ m ≤ n. Результатом решения также будет не один вектор, а n векторов Rm, 1≤ m ≤ n.

3. Ручной счет

3.1 Исходные данные

Xi 0,3 0,5 0,7 0,9 1,1
Yi 1,2 0,7 0,3 -0,3 -1,4

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

3.3 Решение систем методом обратной матрицы

аппроксимация квадрат функция линейный уравнение

5 3,5 2,6 0,5 5 3,5 2,6 0,5

3,5 2,85 2,43 -0,89 0 0,4 0,61 -1,24

2,56 2,43 2,44 -1,86 0 0,638 1,109 -2,116

0 0,4 0,61 -1,24

0 0 0,136 -0,138

Результаты расчета:

С 1 =1,71; С 2 =-1,552; С 3 =-1,015;

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

4 . Текст программы

mass=arrayof real;

mass1=array of real;

mass2=array of real;

X,Y,E,y1,delta: mass;

big,r,sum,temp,maxD,Q:real;

i,j,k,l,num: byte;

Procedure VVOD(var E: mass);

For i:=1 to 5 do

Function FI(i ,k: integer): real;

if i=1 then FI:=1;

if i=2 then FI:=Sin(x[k]);

if i=3 then FI:=Cos(x[k]);

Procedure PEREST(i:integer;var a:mass1;var b:mass2);

for l:= i to 3 do

if abs(a) > big then

big:=a; writeln (big:6:4);

writeln("Перестановкауравнений");

if num<>i then

for j:=i to 3 do

a:=a;

writeln("Введите значения Х");

writeln("__________________");

writeln("‚Введите значения Y");

writeln("___________________");

For i:=1 to 3 do

For j:=1 to 3 do

For k:=1 to 5 do

begin A:= A+FI(i,k)*FI(j,k); write(a:7:5); end;

writeln("________________________");

writeln("МатрицаКоэффициентовAi,j");

For i:=1 to 3 do

For j:=1 to 3 do

write (A:5:2, " ");

For i:=1 to 3 do

For j:=1 to 5 do

B[i]:=B[i]+Y[j]*FI(i,j);

writeln("__________________________");

writeln(‘Матрица Коэффициентов Bi ");

For i:=1 to 3 do

write(B[i]:5:2, " ");

for i:=1 to 2 do

for k:=i+1 to 3 do

Q:=a/a; writeln("g=",Q);

for j:=i+1 to 3 do

a:=a-Q*a; writeln("a=",a);

b[k]:=b[k]-Q*b[i]; writeln("b=",b[k]);

x1[n]:=b[n]/a;

for i:=2 downto 1 do

for j:=i+1 to 3 do

sum:=sum-a*x1[j];

x1[i]:=sum/a;

writeln("__________________________");

writeln ("Значение коэффициентов ");

writeln("_________________________");

for i:=1 to 3 do

writeln(" C",i,"=",x1[i]);

for i:=1 to 5 do

y1[i]:= x1[k]*FI(k,i) + x1*FI(k+1,i) + x1*FI(k+2,i);

delta[i]:=abs (y[i]-y1[i]);

writeln (y1[i]);

for i:=1 to 3 do

write (x1[i]:7:3);

for i:=1 to 5 do

if delta[i]>maxD then maxD:=delta;

writeln ("max Delta= ", maxD:5:3);

5 . Результаты машинного расчета

С 1 =1,511; С 2 =-1,237; С 3 =-1,11;

Вывод

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