Биографии Характеристики Анализ

Среднеквадратическое приближение функции. Среднеквадратическое приближение таблично заданных функций

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

Теория

Пусть значения приближаемой функции f(x) заданы в N+1 узлах f(x 0), ..., f(x N) . Аппроксимирующую функцию будем выбирать из некоторого параметрического семейства F(x, c) , где c = (c 0 , ..., c n) T - вектор параметров, N > n .

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

В этом случае задача аппроксимации ставится как задача поиска такого вектора параметров c = (c 0 , ..., c n) T , при котором значения аппроксимирующей функции как можно меньше отклонялись бы от значений аппроксимируемой функции F(x, c) в совокупности всех узлов.

Графически задачу можно представить так

Запишем критерий среднеквадратичного приближения для метода наименьших квадратов:
J(c) = √ (Σ i=0 N 2) →min

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

Метод наименьших квадратов может быть применен для различных параметрических функций, но часто в инженерной практике в качестве аппроксимирующей функции используются многочлены по какому-либо линейно независимому базису {φ k (x), k=0,...,n }:
F(x, c) = Σ k=0 n [c k φ k (x) ] .

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


Чтобы эта система имела единственное решение необходимо и достаточно, чтобы определитель матрицы А (определитель Грама) был отличен от нуля. Для того, чтобы система имела единственное решение необходимо и достаточно чтобы система базисных функций φ k (x), k=0,...,n была линейно независимой на множестве узлов аппроксимации.

В этой статье рассматривается среднеквадратичное приближение многочленами по степенному базису {φ k (x) = x k , k=0,...,n }.

Пример

А теперь перейдем к примеру. Требуется вывести эмпирическую формулу для приведенной табличной зависимости f(х), используя метод наименьших квадратов.
x 0,75 1,50 2,25 3,00 3,75
y 2,50 1,20 1,12 2,25 4,28

Примем в качестве аппроксимирующей функцию
y = F(x) = c 0 + c 1 x + c 2 x 2 , то есть, n=2, N=4

Система уравнений для определения коэффициентов:
a 00 c 0 + a 01 c 1 +… + a 0n c n = b 0
a 10 c 0 + a 11 c 1 +… + a 1n c n = b 1

a n0 c 0 + a n1 c 1 +… + a nn c n = b n

a kj = Σ i=0 N [φ k (x i)φ j (x i) ], b j = Σ i=0 N

Коэффициенты вычисляются по формулам:
a 00 = N + 1 = 5, a 01 = Σ i=0 N x i = 11,25, a 02 = Σ i=0 N x i 2 = 30,94
a 10 = Σ i=0 N x i = 11,25, a 11 = Σ i=0 N x i 2 = 30,94, a 12 = Σ i=0 N x i 3 = 94,92
a 20 = Σ i=0 N x i 2 = 30,94, a 21 = Σ i=0 N x i 3 = 94,92, a 22 = Σ i=0 N x i 4 = 303,76
b 0 = Σ i=0 N y i = 11,25, b 1 = Σ i=0 N x i y i = 29, b 2 = Σ i=0 N x i 2 y i = 90,21

Решаем систему уравнений и получаем такие значения коэффициентов:
c 0 = 4,822, c 1 = -3,882, c 2 = 0,999

Таким образом
y = 4,8 - 3,9x + x 2

График получившейся функции

Релизация на C#

А теперь перейдем к тому, как написать код, который бы строил такую матрицу. А тут, оказывается, все совсем просто:
private double[,] MakeSystem(double[,] xyTable, int basis) { double[,] matrix = new double; for (int i = 0; i < basis; i++) { for (int j = 0; j < basis; j++) { matrix = 0; } } for (int i = 0; i < basis; i++) { for (int j = 0; j < basis; j++) { double sumA = 0, sumB = 0; for (int k = 0; k < xyTable.Length / 2; k++) { sumA += Math.Pow(xyTable, i) * Math.Pow(xyTable, j); sumB += xyTable * Math.Pow(xyTable, i); } matrix = sumA; matrix = sumB; } } return matrix; }
На входе функция получает таблицу значений функций - матрицу, в первом столбце которой содержатся значения x, во втором, соответственно, y, а также значение степенного базиса.

Сначала выделяется память под матрицу, в которую будут записаны коэффициенты для решения системы линейных уравнений. Затем, собственно, составляем матрицу - в sumA записываются значения коэффициентов aij, в sumB - bi, все по формуле, указанной выше в теоретической части.

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

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

Пространство 1 р - множество функций д(х), определенных на отрезке [а,Ь] и интегрируемых по модулю с р-й степенью, если определена норма

Сходимость в такой норме называется сходимостью в среднем. Пространство 1,2 называется гильбертовым, а сходимость в нем - среднеквадратичной.

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

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

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

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

где набор функций ф[(х), ..., ф„(х) будем считать линейно независимым.

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

Рассмотрим гильбертово пространство ЬгСр) действительных функций, интегрируемых с квадратом с весом р(х) > 0 на [ , где скалярное произведение (g,h ) определено по

формуле:

Подставляя в условие наилучшего приближения линейную комбинацию (2.16), находим

Приравнивая к нулю производные по коэффициентам (Д, k = 1, ..., П, получим систему линейных уравнений

Определитель системы уравнений (2.17) называется определителем Гра- ма. Определитель Грама отличен от нуля, поскольку считается, что система функций ф[(х), ..., ф„(х) линейно независима.

Таким образом, наилучшее приближение существует и единственно. Для его получения необходимо решить систему уравнений (2.17). Если система функций ф1(х), ..., ф„(х) ортогонализирована, т. е. (ф/,ф,) = 5у, где 5, = 1, 8у = О, Щ, ij = 1, ..., п, то система уравнений может быть решена в виде:

Найденные согласно (2.18) коэффициенты Q, ..., й п называются коэффициентами обобщенного ряда Фурье.

Если набор функций ф t (X), ..., ф„(х),... образует полную систему, то в силу равенства Парсеваля при П -» со норма погрешности неограниченно убывает. Это означает, что наилучшсс приближение среднеквадратично сходится к Дх) с любой заданной точностью.

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

Пусть в качестве системы функций ф„ i =1, ..., П, выбираются степени, т. е. ф* = X 1 ", 1 = 1, ..., п, тогда, полагая в качестве отрезка аппроксимации отрезок , находим матрицу Грама

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

С помощью MATLAB рассчитаем определитель матрицы Гильберта в форме (2.19) для некоторых первых значений п. В листинге 2.5 приведен код соответствующей программы.

Листинг 23

%Вычисление определителя матриц Гильберта %очищаем рабочую область clear all;

%выберем максимальное значение порядка %матрицы Гильберта птах =6;

%строим цикл для формирования матриц %Гильберта и вычисления их определителей

for n = 1: птах d(n)=det(hi I b(п)); end

%выводим значения определителей %матриц Гильберта

f о г та t short end

После отработки кода листинга 2.5, в командном окне MATLAB должны появиться значения детерминантов матриц Гильберта для первых шести матриц. В таблице ниже приведены соответствующие численные значения порядков матриц (п) и их определителей (d). Из таблицы отчетливо видно, сколь быстро определитель матрицы Гильберта стремится к нулю при росте порядка и, уже начиная с порядков 5, 6, становится неприемлемо малым.

Таблица значений определителя матриц Гильберта

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

Если при интерполяции обычно используют в качестве системы базисных функций степени, то при аппроксимации в среднем в качестве базисных функций выбирают многочлены, ортогональные с заданным весом. Наиболее употребительными из них являются многочлены Якоби, частным случаем которых являются многочлены Лежандра и Чебышева. Используют также полиномы Лагсрра и Эрмита. Более подробно об этих полиномах можно узнать, например, в приложении Ортогональные полиномы книги .

3. Среднеквадратическое приближение функции

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

Разработать схему алгоритма и написать программу на языке Turbo Pascal 7.0 для выполнения среднеквадратического приближения функции, заданной в узлах.

3.2 Математическая формулировка задачи

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

, (3.1)

где - весовая функция.

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

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

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

Когда уровень неопределенности в задании приближаемой функции f(x i), i=1..m, достаточно велик, что характерно для обработки экспериментальных данных, бессмысленно требовать выполнения условий интерполирования; кроме того, число точек задания функции f(x i) часто весьма велико. Все это делает применение интерполирования мало перспективным по причинам плохой обусловленности задачи высокой размерности и проблем сходимости процесса интерполяции

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

Метод среднеквадратичного приближения обеспечивает построение полинома Pn(x), исходя из минимизации величины

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

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

Однако, уже при n > 5 матрица такой системы оказывается настолько плохо обусловленной, что полученные из (3.4) значения a j оказываются мало пригодными для вычисления P n (x). Поэтому, при необходимости построения полиномов наилучшего среднеквадратичного приближения более высоких степеней применяют другие алгоритмы, например, метод сингулярного разложения.

3.4 Численный метод решения задачи

Можно рассмотреть две задачи:

1 - подобрать функцию так, чтобы выполнялось неравенство

2 - найти наилучшее приближение, т.е. такую функцию , чтобы было справедливым соотношение

. (3.6)

Разложим функцию по системе линейно независимых функций :

. (3.7)

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

.

Подставляя (3.7) в условие (3.6), получим

Дифференцируя это выражение по и приравнивая производные нулю, получим

. (3.8)

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

При использовании ортонормированной системы функций система (3.8) упрощается:

,

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

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

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

В качестве чаще всего используют полиномы Лежандра, Чебышева, Лагерра, Эрмита, ортогональные с заданным весом.

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

, (3.9)

где - число заданных узлов.

Условие наилучшего среднеквадратичного приближения записывается следующим образом:

. (3.10)

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

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

Система уравнений (3.8) при этом принимает вид

, , (3.11)

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

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

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

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

Метрические и линейные нормированные пространства

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

Термин "оператор" тождествен термину "отображение". Термины "операция", "функция", "функционал", "мера" - частные случаи понятия "отображение" .

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

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

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

В качестве носителя могут выступать множества элементов действительных (или комплексных): чисел; векторов, ; Матриц, ; Последовательностей, ; Функций;

В качестве элементов носителя могут выступать также множества: действительной оси, плоскости, трёхмерного (и многомерного) пространства, перестановки, движения; абстрактные множества.

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

  • 1-- неотрицательность; , при.
  • 2- - симметричность;
  • 3- - аксиома рефлексивности.

где - это расстояния между элементами.

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

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

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

Коммутативное свойство.

Ассоциативное свойство.

В существует особый элемент, обозначаемый через такой, что для любого выполняется.

для любого существует, такой, что.

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

Операция означает, что для любого элемента и любого числа определен элемент, обозначаемый через и выполняется аксиомы:

Элемент (точки) линейных пространства называется также векторами. Аксиомами 1 - 4 задаётся группа (аддитивная), называемая модулем и представляющая собой структуру.

Если операция в структуре не подчиняется никакими аксиомам, то такую структуру называют группоидом. Эта структура предельно бедна; в ней нет ни одной аксиоме ассоциативности, то структура называется моноидом (полугруппа).

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

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

Определение. Линейное нормированное пространство есть структура, в которой отображение удовлетворяет следующие аксиомами:

  • 1. причём тогда и только тогда, когда.
  • 2. , .
  • 3. , .

И так в всего 11 аксиом.

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

Распространены два способа введения нормы: либо путём явного задания интервального вида однородно-выпуклого функционала , , либо путём задания скалярного произведение , .

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

  • 1. , .
  • 2. , .

………………..

…………….

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

Определение. Евклидово пространство есть структура в которой скалярное произведение содержит норму и удовлетворяет аксиомам:

  • 4. , причём тогда и только тогда, когда

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

Из свойств 1 - 4 скалярного произведения следует, что выполняются все аксиомы нормы. Если скалярное произведение в виде, то норма будет вычисляться по формуле

Норму пространства невозможно задать с помощью скалярного произведения , .

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

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

Определение. Последовательность элементов в называется фундаментальной, если для любого существует номер, зависящий от, что любого и выполняются (Треногин Колмогоров, Канторович, с 48)

Определение. Банаховым пространством называется такая структура, в которой любая фундаментальная последовательность сходится по норме.

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

Квадратичное приближение

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

(4.4)

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

По оси ординат откладывается линейная шкала в соответствии с выражением

Нанесем на эту систему координат опытные точки. Если точки этого графика располагаются приблизительно по прямой, то это подтверждает наше предположение, что зависимость y от x хорошо выражается функцией вида (4.4). Для отыскания коэффициентов a и b можно теперь применить один из рассмотренных выше способов: способ натянутой нити, способ выбранных точек или способ средней.

Способ натянутой нити применяется также, как и для линейной функции.

Способ выбранных точек можем применить так. На прямолинейном графике возьмем две точки (далекие друг от друга). Координаты этих точек обозначим и (x, y ). Тогда можем записать

Из приведенной системы двух уравнений найдем a и b и подставим их в формулу (4.4) и получим окончательный вид эмпирической формулы.

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

Процесс преобразования криволинейного графика в прямолинейный называется выравниванием.

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

(4.5)

Находим сумму невязок для точек первой группы и приравниваем нулю. То же делаем для точек второй группы. Получим два уравнения с неизвестными a и b . Решая систему уравнений, найдем a и b .

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

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

z -20 -15,4 -9,0 -5,4 -0,6 +4,8 +9,4
2,6 2,01 1,34 1,08 0,94 1,06 1,25

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

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

можно искать в виде (4.4).

Определим коэффициенты a и b по методу средней. Для этого разобьем опытные точки на две группы: в первой группе – первые три точки, во второй – остальные четыре точки. Используя равенство (4.5) находим сумму невязок по каждой группе и приравниваем каждую сумму нулю.