Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЯВУ - курсовик.doc
Скачиваний:
9
Добавлен:
09.12.2018
Размер:
515.07 Кб
Скачать

- 1 -

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

Настоящая курсовая работа является завершающим этапом дисциплины “Программирование на языке высокого уровня” и требует от студента в процессе ее выполнения:

а) практического освоения типовых вычислительных методов прикладной математики;

б) совершенствования навыков разработки алгоритмов и построения программ на языке высокого уровня;

в) освоения принципов модульного программирования и техники использования подпрограмм;

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

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

2. Выбор математического метода решения задачи

2.1. Рекомендации по аппроксимации методом наименьших квадратов Постановка задачи

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

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

- 2 -

  y x , x .

Возможны случаи дискретного и непрерывного представления М.

1. Значения y = yi заданы для конечного множества (n) значений xi , (i=1, 2,…, n). Тогда для каждого из этих значений определена и ошибка (рис. 1)

i = (xi ) = yi (xi) , ( i =1, 2, …, n) . (2.1)

y

y = (x)

yn

(xi ,yi)

_yi

i

y2

y1 ­

x 1 x 2 x i x n x

Рис. 1. Задание y на дискретном множестве значений x

2. Задана функция y=f(x), определяющая значения y для всех точек некоторого интервала [a, b]. Для тех же значений определена и ошибка (рис. 2)

= (x) = f(x) - (x) , x [a, b] , (2.2)

являющаяся непрерывной функцией x.

y

y = (x)

y = f (x)

a x b x

Рис. 2. Задание y как непрерывной функции x

  • 3 –

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

Применительно к случаю 1 это требование принимает вид

. (2.3)

В случае 2 операция суммирования в конечном множестве точек должна быть заменена операцией интегрирования квадрата ошибки (2.2) по всему интервалу [a, b] и условие МНК записывается следующим образом:

. (2.4)

В настоящей курсовой работе исходные данные заданы в виде табличной зависимости yi (xi), то есть рассматривается решение задачи для случая 1. Уточним условия МНК для этой задачи.

Задача. Зависимость между переменными x и y задана их значениями в отдельных точках , . Требуется найти функцию , наилучшим образом (в смысле МНК) аппроксимирующую указанную зависимость (см. рис. 1).

В соответствии с требованием (2.3) наилучшая аппроксимирующая функция должна быть определена из условия

. (2.5)

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

- 4 -

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

Аппроксимирующую функцию φ(x) выбирают из некоторого семейства функций, для которого задан вид функции, но остаются неопределенными (и подлежат определению) ее параметры С1, С2, …, Сm , т.е.

(x) = (x, С1, С2,…, Сm) . (2.6)

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

  • подбор подходящего вида функции φ(х) ;

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

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

Таблица 1

Вид функции Название функции

Более подробные сведения о поведении функций, которые могут быть использованы в задачах аппроксимации, можно найти в справочной литературе [1, c. 126 – 137]. В настоящей курсовой работе вид аппроксимирующей функции φ(х) задан.

- 5 -

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

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

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

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

J = J(С1, С2, …, Сm) . (2.7)

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

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

Для реализации первого из указанных подходов воспользуемся необходимыми условиями минимума функции (2.7) нескольких переменных [4, c. 21 – 26], в соответствии с которыми в точке минимума должны быть равны нулю частные производные этой функции по всем ее аргументам

J / Ck = 0 , (k = 1, 2, …, m) . (2.8)

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

Используемые равенства (2.8) дают лишь необходимые, но не достаточные условия минимума функции (2.7). Поэтому требуется уточнить, обеспечивают ли найденные значения Сk* именно минимум функции J(С1, С2, …, Сm). В общем случае такое уточнение выходит за рамки данной курсовой работы, и предлагаемые для курсовой работы задания подобраны так, что найденное решение системы (2.8) отвечает именно минимуму J. Однако, поскольку величина J неотрицательна (как сумма квадратов) и нижняя ее гра-

- 6 -

ница есть 0 (J=0), то, если существующее решение системы (2.8) единственно, оно отвечает именно минимуму J.

Уравнения (2.8), встречающиеся в МНК, называются нормальными, поэтому описываемый способ решения задачи условимся называть методом нормальных уравнений.

Структура этих уравнений получается более простой в том важном частном случае, когда аппроксимирующая функция (x) выбирается линейной функцией искомых параметров Сk и выражение (2.6) имеет вид

(2.9)

где Сk – определяемые параметры; 1(x), 2(x),…, m(x) – система некоторых линейно-независимых функций, называемых в курсовой работе базисными функциями.

Замечание. Функции 1(x), 2(x),…, m(x) называются линейно-независимыми, если при любых x равенство

справедливо только тогда, когда все Сk =0.

В этом случае, подставляя (2.9) в выражение (2.5) и выполняя дифференцирование в соответствии с (2.8), получим систему уравнений относительно искомых Сk .

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

(x) = С1 1(x) + С2 2(x) +…+ Сm m(x)

и подставим его в формулу критерия аппроксимации (2.5)

. (2.10)