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

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

2014-12-22

366.53 KB

121 чел.


Поделитесь работой в социальных сетях

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


КУРСОВАЯ РАБОТА

По дисциплине:          ИНФОРМАТИКА

(наименование учебной дисциплины согласно учебному плану)

    

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

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

 

Аннотация.

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

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

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.

Pages 29, tables 10, the block diagram 1, figures 5.

Оглавление

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

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

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

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

[2.3] 2.3 Элементы теории корреляции.

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

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

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

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

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

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

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

[7] Программа на языке Turbo Pascal.

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

[9]
Заключение.

[10]
Список литературы.


Введение.

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


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

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

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

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

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

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

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

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

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

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

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

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

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

                                    

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

                                                                                                                                 Таблица 1.

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

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) с заменой  на  и на .

2.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).

Шаг 23. В ячейку H17 вводим формулу =СУММ(H2:H16).

Шаг 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 .

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

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

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

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

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

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

    

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

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

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

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}. ЛИНЕЙН может также возвращать дополнительную регрессионную статистику.

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

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

  1.  Выделяем область A58:B62.
  2.  Вызываем Мастера функций.
  3.  Выбираем функцию ЛИНЕЙН.
  4.  Определяем аргументы функции:
    •  В качестве изв_знач_x указываем B2:B16.
    •  В качестве изв_знач_y указываем C2:C16.
    •  Третье поле  константа оставляем пустым.
    •  В четвертом поле стат набираем истина.
  5.  Нажимаем кнопку Закончить.
  6.  Устанавливаем курсор в строку формул.
  7.  Нажимаем комбинацию клавиш Ctrl + Shift + Enter, чтобы обеспечить ввод табличной формулы.

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

                                                                      Таблица 10.

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

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

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

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

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

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

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

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

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

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

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

program kursovik;

uses crt;

type mas_1=array[1..15] of real;

     mas_2=array[1..3,1..3] of real;

     mas_3=array[1..2,1..2] of real;

var  f,f1:text;

 apprLIN,

     A1_apprLIN,

     A2_apprLIN,

      C_apprEXP,

     A2_apprEXP:mas_3;

 apprKVAD,

     A1_apprKVAD,

     A2_apprKVAD,

     A3_apprKVAD:mas_2;

     X,Y:mas_1;

     i,j:byte;

     A1LIN,A2LIN,

     CEXP,A1EXP,A2EXP,

     A1KVAD,A2KVAD,A3KVAD,

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

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

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

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

    квадратичной аппроксимации}

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

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

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

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

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

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

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

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

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

      xsum,          {сумма х}

      ysum,          {сумма у}

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

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

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

     S2,             {(x_i-x)^2}

     S3,             {(y_i-y)^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;

begin

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;

end;

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

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:=apprLIN;

   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));

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

 for 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);

end.


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

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

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

1.коэффициенты:

   A1=  24.89502

   A2=  -0.01863

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

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

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

1.коэффициенты:

   A1=   4.58463

   A2=   0.20440

   A3=   0.69697

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

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

1.коэффициенты:

   A1=  10.50862

   C=    2.35220

   A2=  -0.00439

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


Заключение
.

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

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

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

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

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


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

  1.  Ахметов К.С. Windows 95 для всех. - М.:ТОО "Компьютер-Пресс", 2010.
  2.  Гончаров A., Excel 97 в примерах. — СПб: Питер, 1997.
  3.  Информатика: Методические указания к курсовой работе. Санкт-Петербургский горный институт. Сост. Д.Е. Гусев, Г.Н.Журов. СПб, 2009.
  4.  Turbo Pascal 7.0 Теория и практика программирования. М.Сухарев. СПб: Наука и техника, 2008.


Начало

Конец

Вычисление коэффициентов корреляции и детерминированности

Вывод полученных результатов в файл paramrez.txt и на экран.

Ввод исходных значений x(i) и y(i)

Аппроксимация функции y=f(x) линейной, квадратичной и экспоненциальной функциями

Вычисление среднего арифметического x и y



12914. Метод наименьших квадратов 308.27 KB   Пусть из теоретических соображений мы знаем что . Поэтому можно сказать что наша задача состоит и в том чтобы провести прямую наилучшим образом. Будем считать что вся ошибка заключена в . Будем подбирать искомые коэффициенты из соображений чтобы случайная добавка была наименьшей. 22. Интерполирование функций полинома методом Ньютона 215.52 KB   Освоить методы алгоритмизации и программирования двух форм представления интерполяционного полинома: полиномов Лагранжа и Ньютона с равномерным расположением узлов интерполирования.3 Исследовать зависимость ошибки интерполирования функции от количества и расположения узлов интерполирования Лагранжа и Ньютона. ВЫВОД В результате выполнения данной работы были изучены методы алгоритмизации и программирования интерполяционного полинома Ньютона с равномерным расположением узлов интерполирования и исследована зависимость ошибки интерполирования.... 19565. Основной принцип МНК: Сумма квадратов ошибки модели должна быть минимальной 40.16 KB   На основании диаграммы рассеяния можно сделать вывод о позитивной зависимости продолжительности жизни от фактора х1 (т.е. у будет расти с ростом х1). Наиболее подходящая форма функциональной зависимости — линейная. Изучается зависимость средней ожидаемой продолжительности жизни от нескольких факторов по данным за 1955 г. С этой целью по 14-ти странам были получены данные по нескольким факторам, влияющим на продолжительность жизни 6213. Приближение функций 3.08 MB   Первая состоит в замене некоторой функции заданный аналитически или таблично другой функцией близкой к исходной но более простой и удобной для вычислений. Например замена функции многочленом позволяет получать простые формулы численного интегрирования и дифференцирования; замена таблицы приближающей функцией позволяет получать значения в ее промежуточных точках. Возникает также и вторая задача восстановление функции на некотором отрезке по заданным на этом отрезке значениям функции в дискретном множестве точек. Ответ на такой вопрос... 2766. Параметры процедур и функций 14.28 KB   Исходные данные передаются в подпрограмму с помощью входных параметров а результаты работы подпрограммы возвращаются через выходные параметры. Входные параметры объявляются с помощью ключевого слова const; их значения не могут быть изменены внутри подпрограммы: function Minconst B: Integer: Integer; begin if B then Result := else Result := B; end; Для объявления выходных параметров служит ключевое слово out: procedure GetScreenResolutionout Width Height: Integer; begin Width := GetScreenWidth; Height := GetScreenHeight; end;... 17. Интерполирование функций полиномами 97.49 KB   Исследовать зависимость ошибки интерполирования функции от количества и расположения узлов для интерполяционного полинома Ньютона. Это даёт возможность при любом значении вычислить величину абсолютной ошибки интерполирования 3 и таким образом провести полное исследование зависимости точности интерполирования от количества узлов интерполирования m и расположения точки x относительно... 14058. Эволюция функций государства 29.99 KB   Российское государство как правовое явление прежде всего должно обеспечивать реализацию назначения государства а также его основных конституционных характеристик как демократического федеративного правового социального светского государства с республиканской формой правления. Главное назначение государства определяется ст. 6386. Практическое применение функций MS Excel 219.04 KB   Microsoft Excel программа предназначена для организации данных в таблице для документирования и графического представления информации. Рабочие книги MS Excel предоставляют возможность хранения и организации данных вычисления суммы значений в ячейках... 6490. Описание и минимизация логических функций 187.21 KB   В словесной форме выражается взаимосвязь между аргументами функции и ее значениями. Пример: функция трех аргументов принимает значение когда любые два или более аргументов функции равны. Состоит в построении таблицы истинности содержащей значения функции для всех наборов значений аргументов. В данном примере по таблице истинности получаем такую запись в виде ДНФ... 6482. Реализация функций и дискретных автоматов на МК 40.42 KB   Согласно нему значение функции в произвольной точке Х находится на основании значений функции в двух ближайших узлах интерполяции. Функция задается в виде массива значений аргумента и соответствующих значений функции. Перед вычислением значения функции необходимо найти соответствующий отрезок между узами интерполяции. Предпосылками этого являются: невысокие требования по точности когда значение функции между узлами интерполяции можно заменить значением в узле; ограничения по времени нахождения результата; набор значений...
© "REFLEADER" http://refleader.ru/
Все права на сайт и размещенные работы
защищены законом об авторском праве.