Аппроксимация функций методом наименьших квадратов

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    248,02 Кб
  • Опубликовано:
    2014-10-02
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Аппроксимация функций методом наименьших квадратов















Пояснительная записка к курсовой работе

Аппроксимация функций методом наименьших квадратов

Аннотация

Данная пояснительная записка представляет собой отчет о выполнении курсового проекта. В ней рассматриваются вопросы расчетов и оформления документов средствами пакетов Microsoft Excel и Microsoft Word с элементами расчетов на языке программирования TPascal на примере решения задачи. В результате получены аппроксимирующие зависимости.

Страниц 29, таблиц 10, блок-схема 1, рисунков 5.

квадрат линеаризация аппроксимация pascal

The Summary

The given explanatory note represents the report on performance of the course project. In it questions of calculations and official registration of papers by means of packages Microsoft Excel and Microsoft Word with elements of calculations in programming language TPascal on an example of the decision of a problem(task) are considered(examined). In result approximating dependences are received.29, tables 10, the block diagram 1, figures 5.

Оглавление

Введение

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

. Расчетные формулы

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

.2 Линеаризация экспоненциальной зависимости

.3 Элементы теории корреляции

3. Расчет аппроксимаций в табличном процессоре Excel

. Построение графиков в Excel

. Использование функции ЛИНЕЙН

5.1 Назначение функции ЛИНЕЙН

.2 Получение числовых характеристик зависимости

6. Блок-схема

.1 Программа на языке Turbo Pascal

. Результаты работы программы

Заключение

Список литературы

 

Введение


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

 

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


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

а) многочленом первой степени ;

б) многочленом второй степени ;

в) экспоненциальной зависимостью .

. Для каждой зависимости вычислить коэффициент детерминированности.

. Вычислить коэффициент корреляции (только в случае а).

. Для каждой зависимости построить линию тренда.

. Используя функцию ЛИНЕЙН вычислить числовые характеристики зависимости y от x.

. Сравнить свои вычисления с результатами, полученными при помощи функции ЛИНЕЙН.

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

. Написать программу на одном из языков программирования и сравнить результаты счета с полученными выше.

Функция y=f(x) задана таблицей 1.

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

Таблица 1


2. Расчетные формулы

 

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


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

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

Таблица 2

x

¼

¼

y

¼

¼


Эта таблица обычно получается как итог каких-либо экспериментов, в которых  (независимая величина) задается экспериментатором, а  получается в результате опыта. Поэтому эти значения  будем называть эмпирическими или опытными значениями.

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

 (1)

(где  - параметры), значения которой при  возможно мало отличались бы от опытных значений .

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

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

,

где .

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

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

 (2)

будет минимальной.

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

Рис. 1

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

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

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

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

 (3)

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

Эта система упрощается, если эмпирическая формула (1) линейна относительно параметров , тогда система (3) - будет линейной.

Конкретный вид системы (3) зависит от того, из какого класса эмпирических формул мы ищем зависимость (1). В случае линейной зависимости  система (3) примет вид:

 (4)

Эта линейная система может быть решена любым известным методом (методом Гаусса, простых итераций, формулами Крамера).

В случае квадратичной зависимости  система (3) примет вид:

 (5)

2.2 Линеаризация экспоненциальной зависимости


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

 (6)

где и  неопределенные коэффициенты.

Линеаризация достигается путем логарифмирования равенства (6), после чего получаем соотношение

 (7)

Обозначим  и  соответственно через  и  , тогда зависимость (6) может быть записана в виде , что позволяет применить формулы (4) с заменой  на  и на.

 

.3 Элементы теории корреляции


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

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

Коэффициент корреляции вычисляется по формуле:

 (8)

где  (9)

 и  ¾ среднее арифметическое значение соответственно по x и y.

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

Корреляционное отношение вычисляется по формуле

, (10)

где , а числитель характеризует рассеяние условных средних  около безусловного среднего .

Всегда . Равенство  соответствует случайным некоррелированным величинам;  тогда и только тогда, когда имеется точная функциональная связь между y и x. В случае линейной зависимости y от x корреляционное отношение совпадает с квадратом коэффициента корреляции. Величина  используется в качестве индикатора отклонения регрессии от линейной.

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

Для его описания рассмотрим следующие величины.  - полная сумма квадратов, где  среднее значение .

Можно доказать следующее равенство

.

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

Второе слагаемое равно и называется регрессионной суммой квадратов и оно характеризует разброс данных.

Очевидно, что справедливо следующее равенство

.

Коэффициент детерминированности определяется по формуле:

 (11)

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

 

3. Расчет аппроксимаций в табличном процессоре Excel


Для проведения расчетов, данные целесообразно расположить в виде таблицы 3, используя средства табличного процессора Microsoft Excel.

Расчет данных.

Таблица 3


Поясним, как таблица 3 составляется.

Шаг 1. В ячейки B2:B16 заносим значения.

Шаг 2. В ячейки C2:C16 заносим значения.

Шаг 3. В ячейку D2 вводим формулу =B2^2.

Шаг 4. В ячейки D3:D16 эта формула копируется.

Шаг 5. В ячейку E2 вводим формулу =B2*C2.

Шаг 6. В ячейки E3:E16 эта формула копируется.

Шаг 7. В ячейку F2 вводим формулу =B2^3.

Шаг 8. В ячейки F3:F16 эта формула копируется.

Шаг 9. В ячейку G2 вводим формулу =B2^4.

Шаг 10. В ячейки G3:G16 эта формула копируется.

Шаг 11. В ячейку H2 вводим формулу =B2^2*C2.

Шаг 12. В ячейки H3:H16 эта формула копируется.

Шаг 13. В ячейку I2 вводим формулу =LN(C2).

Шаг 14. В ячейки I3:I16 эта формула копируется.

Шаг 15. В ячейку J2 вводим формулу =B2*LN(C2).

Шаг 16. В ячейки J3:J16 эта формула копируется.

Последующие шаги делаем с помощью автосуммирования .

Шаг 17. В ячейку B17 вводим формулу =СУММ(B2:B16).

Шаг 18. В ячейку C17 вводим формулу =СУММ(C2:C16).

Шаг 19. В ячейку D17 вводим формулу =СУММ(D2:D16).

Шаг 20. В ячейку E17 вводим формулу =СУММ(E2:E16).

Шаг 21. В ячейку F17 вводим формулу =СУММ(F2:F16).

Шаг 22. В ячейку G17 вводим формулу =СУММ(G2:G16).

Шаг 24. В ячейку I17 вводим формулу =СУММ(I2:I16).

Шаг 25. В ячейку J17 вводим формулу =СУММ(J2:J16).

Аппроксимируем функцию  линейной функцией .

Используя итоговые суммы таблицы 3, расположенные в ячейках B17,C17,D17 и E17, запишем систему в виде:


решив которую, получим  и .

Таким образом, линейная аппроксимация имеет вид

.

Решение системы проводили, пользуясь средствами Microsoft Excel. Результаты представлены в таблице 4.

Результаты коэффициентов линейной аппроксимации.

Таблица 4


В таблице 4 в ячейках A24:B25 записана формула {=МОБР(A20:B21)}.

В ячейках E24:E25 записана формула {=МУМНОЖ(A24:B25,C20:C21)}.

Далее аппроксимируем функцию  квадратичной функцией

.

Используя итоговые суммы таблицы 3, расположенные в ячейках B17, C17, D17, E17, F17, G17 и H17 запишем систему в виде


решив которую, получим, a1=4,5846265, a2=0,2044012, a3=0,696981.

Таким образом, квадратичная аппроксимация имеет вид


Решение системы проводили, пользуясь средствами Microsoft Excel. Результаты представлены в таблице 5.

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

Таблица 5


В таблице 5 в ячейках A33:C35 записана формула {=МОБР(A28:C30)}.

В ячейках F33:F35 записана формула {=МУМНОЖ(A33:C35,D28:D30)}.

Теперь аппроксимируем функцию  экспоненциальной функцией . Для определения коэффициентов  и  прологарифмируем значения  и используя итоговые суммы таблицы 3, расположенные в ячейках A16, C16, H16 и I16 получим систему


где c=ln(a1)

Решив систему, найдем , .

После потенцирования получим .

Таким образом, экспоненциальная аппроксимация имеет вид

.

Решение системы проводили, пользуясь средствами Microsoft Excel. Результаты представлены в таблице 6.

Результаты коэффициентов экспоненциальной аппроксимации.

Таблица 6.


В таблице 6 в ячейках A42:B43 записана формула {=МОБР(A38:B39)}.

В ячейках F42:E43 записана формула {=МУМНОЖ(A42:B43,C38:C39)}.

В ячейке E41 записана формула =EXP(F41).

Вычислим среднее арифметическое  и  по формулам:


Результаты расчета  и  средствами Microsoft Excel представлены в

таблице 7.

Вычисление средних значений X и Y.

Таблица 7

В ячейке B44 записана формула =B17/15.

В ячейке B45 записана формула =C17/15.

Для того, чтобы рассчитать коэффициент корреляции и коэффициент детерминированности данные целесообразно расположить в виде таблицы 8, которая является продолжением таблицы 3.

Вычисление остаточных сумм

Таблица 8


Поясним, как таблица 8 составляется.

Ячейки B1:B16 и C1:C16 уже заполнены (см. табл. 2).

Далее делаем следующие шаги.

Шаг 1. В ячейку K2 вводим формулу =(B2-$B$46)*(C2-$B$47).

Шаг 2. В ячейки K3:K16 эта формула копируется.

Шаг 3. В ячейку L2 вводим формулу =(B2-$B$46)^2.

Шаг 4. В ячейки L3:L16 эта формула копируется.

Шаг 5. В ячейку M2 вводим формулу =(C2-$B$47)^2.

Шаг 6. В ячейки M3:M16 эта формула копируется.

Шаг 7. В ячейку N2 вводим формулу =($F$24+$F$25*B2-C2)^2.

Шаг 8. В ячейки N3:N16 эта формула копируется.

Шаг 9. В ячейку O2 вводим формулу =($F$33+$F$34*B2+$F$35*B2^2-C2)^2.

Шаг 10. В ячейки O3:N16 эта формула копируется.

Шаг 11. В ячейку P2 вводим формулу =($F$41*EXP($F$43*B2)-C2)^2.

Шаг 12. В ячейки P3:P16 эта формула копируется.

Последующие шаги делаем с помощью автосуммирования .

Шаг 13. В ячейку K17 вводим формулу =СУММ(K2:K16).

Шаг 14-18. Аналогично, шагу 13 для ячеек L17, M17, N17, O17P17.


(только для линейной аппроксимации) и коэффициента детерминированности по формуле:

.

Результаты расчетов средствами Microsoft Excel представлены в таблице 9.

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

Таблица 9


В таблице 9 в ячейке E50 записана формула =K17/КОРЕНЬ(L17*M17).

В ячейке E51 записана формула =1-N17/M17.

В ячейке E53 записана формула =1-O17/M17.

В ячейке E55 записана формула =1-P17/M17.

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

4. Построение графиков в Excel


Исследуем характер зависимости в три этапа:

1 Построим график зависимости.

2 Построим линию тренда.

3 Получим числовые характеристики коэффициентов этого уравнения.

Рис 2. График линейной аппроксимации.

Рис 3. График квадратичной аппроксимации.

Рис 4. График экспоненциальной аппроксимации.

Полученное при построении линии тренда значение коэффициента детерминированности для экспоненциальной зависимости  не совпадает с истинным значением (это значение было сосчитано вручную выше) поскольку при вычислении коэффициента детерминированности с помощью функции ЛИНЕЙН используются не истинные значения , а преобразованные значения  с дальнейшей линеаризацией.

 

5. Использование функции ЛИНЕЙН

 

.1 Назначение функции ЛИНЕЙН

 

Рассмотрим назначение функции ЛИНЕЙН.

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

Функция возвращает массив, который описывает полученную прямую. Уравнение для прямой линии имеет следующий вид:

y=m1*x1 + m2*x2 + …b или y=m*x + b

где зависимое значение y является функцией независимого значения x. Значения m - это коэффициенты, соответствующие каждой независимой переменной x, а b - это постоянная. Заметим, что y,x и m могут быть векторами.

Функция ЛИНЕЙН возвращает массив {mn; mn-1; ….; m1; b}. ЛИНЕЙН может также возвращать дополнительную регрессионную статистику.

 

.2 Получение числовых характеристик зависимости


Для построения числовых характеристик создаем табличную формулу, которая будет занимать 5 строк и 2 столбца (см. таблицу 10).В этот интервал вводим функцию ЛИНЕЙН. Для этого была выполнена следующая последовательность действий:

1.      Выделяем область A58:B62.

2.      Вызываем Мастера функций.

.        Выбираем функцию ЛИНЕЙН.

.        Определяем аргументы функции:

·          В качестве изв_знач_x указываем B2:B16.

·        В качестве изв_знач_y указываем C2:C16.

·        Третье поле константа оставляем пустым.

·        В четвертом поле стат набираем истина.

5.      Нажимаем кнопку Закончить.

6.      Устанавливаем курсор в строку формул.

.        Нажимаем комбинацию клавиш Ctrl + Shift + Enter, чтобы обеспечить ввод табличной формулы.

Результатом выполнения данных действий является таблица 10.

Таблица 10

Поясним назначение некоторых величин, расположенных в таблице 10.

Величины расположенные в ячейках A58 и B58 характеризуют соответственно наклон и сдвиг.

А58 - коэффициент детерминированности.

А59 - F - наблюдаемое значение.

B60 - число степеней свободы.

A61 - регрессионная сумма квадратов.

B62 - остаточная сумма квадратов.

6. Блок-схема


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

Рис 5. Блок-схема.

6.1 Программа на языке Turbo Pascal


program kursovik;crt;mas_1=array[1..15] of real;_2=array[1..3,1..3] of real;_3=array[1..2,1..2] of real;f,f1:text;,_apprLIN,_apprLIN,_apprEXP,_apprEXP:mas_3;,_apprKVAD,_apprKVAD,_apprKVAD:mas_2;,Y:mas_1;,j:byte;LIN,A2LIN,,A1EXP,A2EXP,KVAD,A2KVAD,A3KVAD,_lin, {коэффициент корреляции }

deter_lin, {коэф. детерминированности

линейной аппроксимации}_kvad, {коэф. детерминированности

квадратичной аппроксимации}_exp, {коэф. детерминированности

экспоненциальная аппроксимация}

x2, {сумма квадратов х}

x3, {сумма кубов х}

x4, {сумма четвертых степеней х}

xy, {сумма произведений х на у}

x2y, {сумма произведений квадрата х на у}

lny, {сумма логарифмов у }

xlny, {сумма произведений х на логарифм у}

xsum, {сумма х}

ysum, {сумма у}

xsr, {среднее значение х}

ysr, {среднее значение у}

S1, {(x_i-x)*(y_i-y)}

S2, {(x_i-x)^2}

LIN, {лин}

KVAD, {квадрат}

EXPON:real; {экспоненц}

{ функция возведения в целую степень }

function stepen(chislo:real;pokazat:integer):real;

var result:real;

istep:byte;

begin

result:=1;

for istep:=1 to pokazat do

result:=result*chislo;

stepen:=result;

end;

{ функция, возращающая значение опредилителя 2-ого порядка}

function det_2(mat:mas_3): real;

var result:real;

begin

result:=mat[1,1]*mat[2,2]-mat[1,2]*mat[2,1];

det_2:=result;

end;

{ функция, возращающая значение опредилителя 3-его порядка}

function det_3(mat:mas_2):real;

var M_d:mas_3; {минор элемента ij}

k_det3,i0_det3,j0_det3,j_det3:byte;

result:real;

result:=0;

for j_det3:=1 to 3 do

begin

for i0_det3:=1 to 2 do

begin

k_det3:=0;

for j0_det3:=1 to 2 do

begin

if j_det3=j0_det3 then k_det3:=1;

M_d[i0_det3,j0_det3]:=mat[i0_det3+1,j0_det3+k_det3];

end;

end;

result:=stepen(-1,1+j_det3)*det_2(M_d)*mat[1,j_det3]+result;

end;

det_3:=result;;

{{{{{{ОСНОВНАЯ ПРОГРАММА}

begin

{ чтение исходных данных из файла }

assign(f,'parametr.txt');

reset(f);

readln(f);

for i:=1 to 15 do readln(f,x[i],y[i]);

close(f);

{ вычисление необходимых в расчетах параметров}

xsum:=0;ysum:=0;x2:=0;x3:=0;x4:=0;xy:=0;x2y:=0;

for i:=1 to 15 do

begin

x2:=x2+((X[i])*(X[i])); {сумма квадратов х}

x3:=x3+((X[i])*(X[i])*(X[i])); {сумма кубов х}

x4:=x4+((X[i])*(X[i])*(X[i])*(X[i])); {сумма четвертых степеней х}

xy:=xy+X[i]*Y[i]; {сумма произведений х на у}

x2y:=x2y+((X[i])*(X[i])*Y[i]); {сумма произведений квадрата х на у}

lny:=lny+ln(Y[i]); {сумма логарифмов у }

xlny:=xlny+X[i]*ln(Y[i]); {сумма произведений х на логарифм у}

xsum:=xsum+X[i];

ysum:=ysum+Y[i];

end;

xsr:=xsum/15; {среднее значение х}

ysr:=ysum/15; {среднее значение у}

{ВЫЧИСЛЕНИЕ КОЭФФИЦИЕНТОВ ПРОИЗВОДИТЬСЯ ПО ФОРМУЛЕ КРАМЕРА}

{ЛИНЕЙНАЯ АППРОКСИМАЦИЯ}

apprLIN[1,1]:=15; {матрица коэффициентов}

apprLIN[1,2]:=xsum;

apprLIN[2,1]:=xsum;

apprLIN[2,2]:=x2;

A1_apprLIN[1,1]:=ysum;

A1_apprLIN[2,1]:=xy;

A2_apprLIN:=apprLIN;

A2_apprLIN[1,2]:=ysum;

A2_apprLIN[2,2]:=xy;

A1LIN:=det_2(A1_apprLIN)/det_2(apprLIN);

A2LIN:=det_2(A2_apprLIN)/det_2(apprLIN);

{КВАДРАТИЧНАЯ АППРОКСИМАЦИЯ}

apprKVAD[1,1]:=15; {матрица коэффициентов}

apprKVAD[1,2]:=xsum;

apprKVAD[1,3]:=x2;

apprKVAD[2,1]:=xsum;

apprKVAD[2,2]:=x2;

apprKVAD[2,3]:=x3;

apprKVAD[3,1]:=x2;

apprKVAD[3,2]:=x3;

apprKVAD[3,3]:=x4;

A1_apprKVAD:=apprKVAD;

A1_apprKVAD[1,1]:=ysum;

A1_apprKVAD[2,1]:=xy;

A1_apprKVAD[3,1]:=x2y;

A2_apprKVAD:=apprKVAD;

A2_apprKVAD[1,2]:=ysum;

A2_apprKVAD[2,2]:=xy;

A2_apprKVAD[3,2]:=x2y;

A3_apprKVAD:=apprKVAD;

A3_apprKVAD[1,3]:=ysum;

A3_apprKVAD[2,3]:=xy;

A3_apprKVAD[3,3]:=x2y;

A1KVAD:=det_3(A1_apprKVAD)/det_3(apprKVAD);

A2KVAD:=det_3(A2_apprKVAD)/det_3(apprKVAD);

A3KVAD:=det_3(A3_apprKVAD)/det_3(apprKVAD);

{ЭКСПОНЕНЦИАЛЬНАЯ АППРОКСИМАЦИЯ}

{матрица коэффициентов совпадает с матрицей коэффициентов

при линейной аппроксимации}

C_apprEXP:=apprLIN;

C_apprEXP[1,1]:=lny;

C_apprEXP[2,1]:=xlny;

A2_apprEXP:=apprLIN;

A2_apprEXP[1,2]:=lny;

A2_apprEXP[2,2]:=xlny;

CEXP:=det_2(C_apprEXP)/det_2(apprLIN);

A2EXP:=det_2(A2_apprEXP)/det_2(apprLIN);

A1EXP:=exp(CEXP);

{ коэффициент корреляции }

for i:=1 to 15 do

begin

S1:=S1+(X[i]-xsr)*(Y[i]-ysr);

S2:=S2+stepen((X[i]-xsr),2);

S3:=S3+stepen((Y[i]-ysr),2);

end;

kor_lin:=S1/(sqrt(S2)*sqrt(S3));

{ коэффициент детерминированности}i:=1 to 15 do

begin

LIN:=LIN+sqr(A1LIN+A2LIN*X[i]-Y[i]);

KVAD:=KVAD+sqr(A1KVAD+A2KVAD*X[i]+A3KVAD*stepen(X[i],2)-Y[i]);

EXPON:=EXPON+sqr(A1EXP*exp(A2EXP*X[i])-Y[i]);

end;

deter_lin:=1-LIN/S3; {линейная аппроксииация}

deter_kvad:=1-KVAD/S3;{квадратичная аппроксимация}

deter_exp:=1-EXPON/S3; {экспоненциальная аппроксимация}

{ВЫВОД РЕЗУЛЬТАТОВ}

clrscr;

writeln('ЛИНЕЙНАЯ АППРОКСИМАЦИЯ');

writeln(' 1.коэффициенты:');

writeln(' A1=',A1LIN:10:5);

writeln(' A2=',A2LIN:10:5);

writeln(' 2.коэф. корреляции:',kor_lin:10:5);

writeln(' 3.коэф. детерминированности:',deter_lin:10:6);

writeln;

writeln('КВАДРАТИЧНАЯ АППРОКСИМАЦИЯ');

writeln(' 1.коэффициенты:');

writeln(' A1=',A1KVAD:10:5);

writeln(' A2=',A2KVAD:10:5);

writeln(' A3=',A3KVAD:10:5);

writeln(' 2.коэф. детерминированности:',deter_kvad:10:5);

writeln;

{}

writeln('ЭКСПОНЕНЦИАЛЬНАЯ АППРОКСИМАЦИЯ');

writeln(' 1.коэффициенты:');

writeln(' A1=',A1EXP:10:5);

writeln(' C= ',CEXP:10:5);

writeln(' A2=',A2EXP:10:5);

writeln(' 2.коэф. детерминированности:',deter_exp:10:5);

writeln;

{ вывод результатов в файл}

assign(f1,'pararez.txt');

rewrite(f1);

writeln(f1,'ЛИНЕЙНАЯ АППРОКСИМАЦИЯ');

writeln(f1,' 1.коэффициенты:');

writeln(f1,' A1=',A1LIN:10:5);

writeln(f1,' A2=',A2LIN:10:5);

writeln(f1,' 2.коэф. корреляции:',kor_lin:10:5);

writeln(f1,' 3.коэф. детерминированности:',deter_lin:10:5);

writeln(f1);

{}

writeln(f1,'КВАДРАТИЧНАЯ АППРОКСИМАЦИЯ');

writeln(f1,' 1.коэффициенты:');

writeln(f1,' A1=',A1KVAD:10:5);

writeln(f1,' A2=',A2KVAD:10:5);

writeln(f1,' A3=',A3KVAD:10:5);

writeln(f1,' 2.коэф. детерминированности:',deter_kvad:10:5);

writeln(f1);

{}

writeln(f1,'ЭКСПОНЕНЦИАЛЬНАЯ АППРОКСИМАЦИЯ');

writeln(f1,' 1.коэффициенты:');

writeln(f1,' A1=',A1EXP:10:5);

writeln(f1,' C=',CEXP:10:5);

writeln(f1,' A2=',A2EXP:10:5);

writeln(f1,' 2.коэф. детерминированности:',deter_exp:10:5);

writeln(f1);

close(f1);.

 

7. Результаты работы программы


Результаты работы программы представлены в файле pararez.txt, который представлен ниже:

ЛИНЕЙНАЯ АППРОКСИМАЦИЯ

. коэффициенты:= 24.89502= -0.01863

. коэф. корреляции: -0.00510

. коэф. детерминированности: 0.000026

КВАДРАТИЧНАЯ АППРОКСИМАЦИЯ

. коэффициенты:= 4.58463= 0.20440= 0.69697

. коэф. детерминированности: 0.83862

ЭКСПОНЕНЦИАЛЬНАЯ АППРОКСИМАЦИЯ

. коэффициенты:= 10.50862= 2.35220= -0.00439

. коэф. детерминированности: -0.53138

Заключение


Сделаем выводы по результатам полученных данных.

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

. Сравнивая результаты, полученные при помощи функции ЛИНЕЙН видим что они полностью совпадают с вычислениями, проведенными выше. Это указывает на то, что вычисления верны.

. Полученное при построении линии тренда значение коэффициента детерминированности для экспоненциальной зависимости 0,407 не совпадает с истинным значением 0.56768 (это значение было сосчитано вручную выше) поскольку при вычислении коэффициента детерминированности с помощью функции ЛИНЕЙН используются не истинные значения y, а преобразованные значения lny с дальнейшей линеаризацией.

. Результаты полученные с помощью программы на языке PASCAL полностью совпадают со значениями приведенными выше. Это говорит о верности вычислений.

 

Список литературы


1. Ахметов К.С. Windows 95 для всех. - М.: ТОО "Компьютер-Пресс", 2010.

2. Гончаров A., Excel 97 в примерах. - СПб: Питер, 1997.

3. Информатика: Методические указания к курсовой работе. Санкт-Петербургский горный институт. Сост. Д.Е. Гусев, Г.Н. Журов. СПб, 2009.

4. Turbo Pascal 7.0 Теория и практика программирования. М.Сухарев. СПб: Наука и техника, 2008.

Похожие работы на - Аппроксимация функций методом наименьших квадратов

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!