Дискуссионный математический форумМатематический форум

Математический форум Math Help Planet

Обсуждение и решение задач по математике, физике, химии, экономике

Теоретический раздел
Часовой пояс: UTC + 4 часа [ Летнее время ]
MathHelpPlanet.com RSS-лента Математического форума

Часовой пояс: UTC + 4 часа [ Летнее время ]


Методы интегрального сглаживания

Методы интегрального сглаживания


Содержание

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


Определение вида функциональных зависимостей, получаемых в физическом эксперименте, имеет очень важное значение. Обычно экспериментальные результаты представляются в виде таблиц или сеточных функций [math]y_i=f(x_i)\pm \varepsilon_i[/math], где [math]\varepsilon_i[/math] — погрешности измерений. Если их построить на графике, соединяя экспериментальные точки отрезками прямых, то получится ломаная, не имеющая ничего общего с той или иной функциональной зависимостью, которая затем могла бы быть исследована средствами математического анализа. Форма этой ломаной из-за ошибок измерений при повторном эксперименте не воспроизводится. Поэтому экспериментатор на основе практического опыта предполагает, что полученная таблица является реализацией эмпирической гладкой зависимости [math]\widetilde{f}_m(x,\overline{a})[/math] с неизвестным параметром [math]\overline{a}[/math], являющимся в общем случае вектором размерности [math]m+1[/math] (см. рис. 4.1,б). Для его определения используются различные формы записи зависимости [math]\widetilde{f}_m(x, \overline{a})[/math] и различные условия согласования [math]\widetilde{f}_m(x,\overline{a})[/math] с исходной функцией [math]y_i=f(x_i)\pm \varepsilon_i[/math].


На практике удобно представить искомую зависимость в виде обобщенного многочлена


[math]\widetilde{f}_m(x,\overline{a})= \sum\limits_{j=0}^{m} a_j \varphi_j(x)= a_0 \varphi_0(x)+ a_1 \varphi_1(x)+ \ldots+a_m \varphi_m(x),\qquad \mathsf{(4.43)}[/math]

где [math]\overline{a}= \bigl\{a_0,a_1,\ldots,a_m\bigr\}^T[/math] — вектор неизвестных коэффициентов, [math]\{\varphi_j\}= \{\varphi_0, \varphi_1,\ldots, \varphi_m\}[/math] — заданная система базисных функций. В качестве базисных функций могут выбираться, например, степенные функции [math]\{\varphi_j\}= \{x^j\}[/math], многочлены Чебышева, тригонометрические функции [math]\{\varphi_j\}= \{\cos jx\}[/math]. В первых двух случаях ищется алгебраический полином, а в третьем — тригонометрический полином. Далее для решения задачи используются базисные функции только первых двух видов.


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


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


Оба метода могут быть реализованы глобальным способом, т.е. для всего отрезка [math][a,b][/math] может быть получена одна функция [math]\widetilde{f}_m(x,\overline{a})[/math]. Как правило, принимают [math]m \leqslant 5+8~ (m\ll n)[/math] в связи с отмеченными ранее свойствами многочленов высокой степени. Последнее обстоятельство обусловливает необходимость использования для сглаживания кусочно-глобального подхода, аналогичного сплайн-методу, с шаблонами, количество точек в которых соответствует степени многочлена [math]\widetilde{f}_m(x, \overline{a})[/math].




Нахождение сглаживающих многочленов методом наименьших квадратов


Пусть на множестве [math]\Omega= \{a,b\}[/math] задана сетка [math]\Omega_n= \{x_i,\, i=\overline{0,n}\}[/math], определяемая [math]n+1[/math] точкой [math]x_0,x_1,\ldots,x_n[/math], а на сетке задана сеточная функция [math]y_i= f(x_i),~ i=\overline{0,n}\colon[/math]


[math]y_0=f(x_0),\quad y_1=f(x_1),\quad \ldots,\quad y_n=f(x_n).[/math]

Предполагается, что сеточная функция получена, например, в физическом эксперименте с достаточно большой погрешностью относительно шага, т.е. [math]y_i=f(x_i)\pm \varepsilon_i[/math] причем значения [math]\varepsilon_i[/math] превышают [math]O(h_{i+1})[/math], а узлы сетки могут быть заданы также с погрешностью. Как и ранее, будем использовать обозначение [math]f_i= f(x_i)[/math].


В качестве сглаживающей функции будем использовать обобщенный многочлен (4.43), в котором базисные функции [math]\varphi_i(x)[/math] являются степенными функциями или многочленами Чебышева, причем степень многочлена удовлетворяет условию [math]0 \leqslant m \leqslant n[/math].


Требуется найти такие коэффициенты многочлена [math]a_0,a_1,\ldots,a_m[/math], чтобы выполнялось интегральное условие согласования (4.4):


[math]\delta_m(\overline{a})= \sqrt{\frac{1}{n+1} \sum\limits_{i=0}^{n} \bigl[\widetilde{f}_m(x_i,\overline{a})-f_i\bigr]^2}\to \min_{\overline{a}},[/math]
(4.44)

т.е. такой вектор [math]\overline{a}= \bigl\{a_0,a_1,\ldots,a_m\bigr\}^T[/math], который обеспечивает минимум среднеквадратичной погрешности [math]\delta_m(\overline{a})[/math].


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


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


1. Метод интерполяции — точечный метод, так как требует выполнения точечных условий интерполяции. Рассматриваемые здесь интегральные методы являются альтернативными точечным и не требуют точного удовлетворения функциональных условий, а требуют выполнения соответствия [math]\widetilde{f}_m(x,\overline{a})[/math] и [math]y_i=y(x_i)[/math] в среднем (по интегралу или по интегральной сумме).


2. Исходная функция [math]y_i= f(x_i)[/math] задана не точно, а с погрешностью, существенно большей, чем в методе интерполяции. Эта функция, как правило, получена в результате некоторого физического эксперимента.


3. Количество точек [math]x_i~(i=\overline{0,n})[/math], в которых задана исходная функция, как правило, значительно больше степени т многочлена [math]n \gg m[/math]. Поэтому между [math]n[/math] и [math]m[/math] нет строгого соответствия, как это имеет место в методе интерполяции.




Нахождение сглаживающих многочленов методом интегрального приближения


Пусть на множестве [math]\Omega=[a,b][/math] задана сетка [math]\Omega_{m+1}= \bigl\{x_i,\, i=\overline{0,m+1}\bigr\}[/math], причем [math]x_0=a<x_1<x_2< \ldots<x_{m+1}=b[/math]. Эта сетка, определяемая [math](m+2)[/math] несовпадающими узлами, порождает систему [math](m+1)[/math] частичных отрезков [math][x_i,x_{i+1}],~ i=\overline{0,m}[/math].


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


Первый способ. На каждом частичном отрезке [math][x_i,x_{i+1}],~ i=\overline{0, m}[/math], сетки [math]\Omega_{m+1}[/math] задается величина интеграла [math]I_{i}^{i+1}[/math].


Второй способ. На частичных отрезках [math][x_0,x_1], [x_0,x_2], \ldots,[x_0, x_{m+1}][/math] c фиксированным левым узлом задаются интегралы [math]I_0^1,I_0^2,\ldots,I_0^{m+1}[/math].


Третий способ. Сеточная функция задается своими значениями [math]y_i= f(x_i),~ i=\overline{0,m+1}[/math]. Предполагается, что они известны с погрешностью [math]\varepsilon_i[/math], т.е. [math]y_i=f(x_i)\pm \varepsilon_i[/math]. Соответствующие интегралы [math]I_{i}^{i+1},~ i=\overline{0,m}[/math] и [math]I_{0}^{i},~ i=\overline{1,m+1}[/math], вычисляются по квадратурным формулам.


В качестве сглаживающей функции, так же как в методе наименьших квадратов, будем использовать обобщенный многочлен (4.43) степени [math]m[/math], в котором базисные функции [math]\varphi_i(x)[/math] являются степенными.


Требуется найти такие коэффициенты многочлена [math]a_0,a_1,\ldots,a_m[/math], чтобы выполнялось интегральное условие согласования (4.5). Для первого способа задания функции оно имеет вид


[math]\int\limits_{x_i}^{x_{i+1}} \widetilde{f}_m(x,\overline{a})\,dx= I_{i}^{i+1},\quad i=0,1,\ldots,m,[/math]
(4.45)

а для второго способа —


[math]\int\limits_{x_0}^{x_{i}} \widetilde{f}_m(x,\overline{a})\,dx=I_0^i,\quad i=1,\ldots,m+1.[/math]
(4.46)

Замечание. Если вместе с интегральными условиями согласования использовать функциональные, то получаемые в результате многочлены называются интерполяционно-сглаживающими.




Метод наименьших квадратов


В соответствии с постановкой задачи найдем коэффициенты [math]a_0,a_1,\ldots,a_m[/math] многочлена (4.43), обеспечивающие минимум среднеквадратичной погрешности (4.44):


[math]\delta_m(\overline{a})= \sqrt{\frac{1}{n+1} \sum\limits_{i=0}^{n} \bigl[\widetilde{f}_m(x_i,\overline{a})-f_i\bigr]^2}\to \min_{a_0,a_1,\ldots,a_m}.[/math]
(4.47)

Очевидно, минимум в (4.47) с учетом (4.43) достигается, если


[math]\Delta= \sum\limits_{i=0}^{n} \bigl[\varphi_0(x_i)a_0+ \varphi_1(x_i)a_1+ \ldots+\varphi_m(x_i)a_m-f_i\bigr]^2\to \min_{a_0,a_1,\ldots,a_m}.[/math]
(4.48)

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


[math]\frac{\partial \Delta}{\partial a_j}=0,\quad j=0,1,\ldots,m.[/math]

В результате получаем систему


[math]\left\{\!\begin{aligned} \dfrac{\partial \Delta}{\partial a_0}&= 2\sum\limits_{i=0}^{n} \bigl[\varphi_0(x_i)a_0+ \varphi_1(x_i)a_1+ \ldots+\varphi_m(x_i)a_m-f_i\bigr]\cdot \varphi_0(x_i)=0,\\ \dfrac{\partial \Delta}{\partial a_1}&= 2\sum\limits_{i=0}^{n} \bigl[\varphi_0(x_i)a_0+ \varphi_1(x_i)a_1+ \ldots+\varphi_m(x_i)a_m-f_i\bigr]\cdot \varphi_1(x_i)=0,\\[-5pt] &\vdots\\[-5pt] \dfrac{\partial \Delta}{\partial a_m}&= 2\sum\limits_{i=0}^{n} \bigl[\varphi_0(x_i)a_0+ \varphi_1(x_i)a_1+ \ldots+\varphi_m(x_i)a_m-f_i\bigr]\cdot \varphi_m(x_i)=0. \end{aligned}\right.[/math]
(4.49)

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


Скалярным произведением функций [math]\varphi_k(x)[/math] и [math]\varphi_l(x)[/math] на множестве точек [math]\{x_i,\, i=\overline{0,n}\}[/math] называется сумма произведений значений функций, вычисленных во всех точках, т.е.


[math](\varphi_k,\varphi_l)= \sum\limits_{i=0}^{n} \varphi_k(x_i)\cdot \varphi_l(x_i).[/math]

Число [math]\|\varphi_k\|= \sqrt{(\varphi_k,\varphi_l)}[/math] называется нормой функции [math]\varphi_k(x)[/math] на множестве точек [math]\{x_i,\, i=\overline{0,n}\}[/math]. Тогда полученную систему (4.49) можно переписать в нормальной форме:


[math]\left\{\!\begin{aligned}&(\varphi_0,\varphi_0)a_0+ (\varphi_0,\varphi_1)a_1+ \ldots+ (\varphi_0,\varphi_m)a_m= (f,\varphi_0),\\ &(\varphi_1,\varphi_0)a_0+ (\varphi_1,\varphi_1)a_1+ \ldots+ (\varphi_1,\varphi_m)a_m= (f,\varphi_1),\\[-5pt] &\quad \vdots\\[-5pt] &(\varphi_m,\varphi_0)a_0+ (\varphi_m,\varphi_1)a_1+ \ldots+ (\varphi_m,\varphi_m)a_m= (f,\varphi_m), \end{aligned}\right.[/math]
(4.50)

где [math]\textstyle{(f,\varphi_k)= \sum\limits_{i=0}^{n} f_i\,\varphi_k(x_i)}[/math]. Таким образом, получено [math](m+1)[/math] линейное уравнение [math](m+1)[/math] неизвестными [math]a_0,a_1, \ldots,a_m[/math]. В силу равенства [math](\varphi_k,\varphi_l)= (\varphi_l,\varphi_k)[/math] матрица


[math]A= \begin{pmatrix}(\varphi_0,\varphi_0) & (\varphi_0,\varphi_1) &\cdots& (\varphi_0,\varphi_m)\\ (\varphi_1,\varphi_0) & (\varphi_1,\varphi_1) &\cdots& (\varphi_1,\varphi_m)\\ \vdots & \vdots& \ddots& \vdots\\ (\varphi_m,\varphi_0) & (\varphi_m,\varphi_1) &\cdots& (\varphi_m,\varphi_m) \end{pmatrix}[/math]

системы (4.50) является симметрической. Если базисные функции [math]\varphi_0, \varphi_1,\ldots, \varphi_m[/math] линейно независимы, определитель матрицы [math]A[/math] не равен нулю (он называется определителем Грама). Тогда решение системы (4.50) существует и единственно. Аналогичный вывод можно сделать и о задаче определения многочлена наилучшего среднеквадратичного приближения.




Применение степенных базисных функции


В качестве базисных функций используем степенные: [math]\varphi_j(x)= x^j,~ j= \overline{0,m}[/math]. В этом случае обобщенный многочлен (4.43) имеет вид


[math]\widetilde{f}_m(x,\overline{a})= \sum\limits_{j=0}^{m} a_jx^j= a_0+ a_1x+ \ldots+ a_mx^m.[/math]
(4.51)

Тогда [math]\textstyle{(f,\varphi_j)= \sum\limits_{i=0}^{n} f_ix_i^j,~ (\varphi_k,\varphi_l)= \sum\limits_{i=0}^{n} x_i^{k+l},~ (\varphi_k,\varphi_k)= \sum\limits_{i=0}^{n} x_i^{2k}}[/math] и система (4.50) имеет вид


[math]\begin{cases} a_0 \sum\limits_{i=0}^{n}1+ a_1 \sum\limits_{i=0}^{n}x_i+ a_2 \sum\limits_{i=0}^{n}x_i^2+ \ldots+ a_m \sum\limits_{i=0}^{n}x_i^m= \sum\limits_{i=0}^{n}f_i,\\ a_0 \sum\limits_{i=0}^{n}x_i+ a_1 \sum\limits_{i=0}^{n}x_i^2+ a_2 \sum\limits_{i=0}^{n}x_i^3+ \ldots+ a_m \sum\limits_{i=0}^{n}x_i^{m+1}= \sum\limits_{i=0}^{n}x_if_i,\\ \quad \vdots\\ a_0 \sum\limits_{i=0}^{n} x_i^m+ a_1 \sum\limits_{i=0}^{n}x_i^{m+1}+ a_2 \sum\limits_{i=0}^{n} x_i^{m+2}+ \ldots+ a_m \sum\limits_{i=0}^{n}x_i^{2m}= \sum\limits_{i=0}^{n}x_i^mf_i. \end{cases}[/math]
(4.52)

Обозначим

[math]\begin{gathered}s_0=n+1,\quad t_0=f_0+f_1+\ldots+f_n,\\ s_k=x_0^k+ x_1^k+\ldots+ x_n^k,\quad k=1,\ldots,2m;\\ t_k=x_0^kf_0+ x_1^kf_1+ \ldots+ x_n^kf_n,\quad k=1,\ldots,m. \end{gathered}[/math]

Тогда система (4.52) преобразуется к виду


[math]\begin{cases}s_0a_0+ s_1a_1+ \ldots+ s_ma_m=t_0,\\ s_1a_0+ s_2a_1+ \ldots+ s_{m+1}a_m=t_1,\\ \quad\vdots\\ s_ma_0+ s_{m+1}a_1+ \ldots+ s_{2m}a_m=t_m. \end{cases}[/math]
(4.53)

Решая систему линейных алгебраических уравнений, находим неизвестные коэффициенты [math]a_0, a_1,\ldots,a_m[/math]. Подставляя решение в [math]\widetilde{f}_m(x,\overline{a})[/math], получаем искомую формулу, которая сглаживает экспериментальные данные. Качественный характер поведения сглаживающей функции [math]\widetilde{f}_m(x,\overline{a})[/math] относительно исходной функции показан на рис. 4.7. Подчеркнем, что функция [math]\widetilde{f}_m (x,\overline{a})[/math] расположена внутри полосы "разброса" функции [math]y_i=f(x_i)[/math] и является более плавной по сравнению с ломаной, проведенной через заданные экспериментальные точки. В этом состоит сглаживание исходной "пилообразной" функции или функции, заданной своими значениями с "разбросом".




Методика решения задачи сглаживания


1. Вычислить коэффициенты [math]s_k,~ k=\overline{0,2m},~ t_k,~ k=i=\overline{0,m}[/math], по заданной сеточной функции и записать систему (4.53).


2. Решить полученную систему одним из методов, изложенных ранее, и найти коэффициенты [math]a_0, a_1,\ldots,a_m[/math].


3. Записать искомую сглаживающую функцию [math]\widetilde{f}_m(x,\overline{a})= a_0+a_1x+ \ldots+ a_mx^m[/math].


Замечания


1. Если для сеточной функции, заданной в (n+1)-й точке [math]x_0,x_1,\ldots,x_n[/math], определять многочлен степени [math]m=n[/math] методом наименьших квадратов, то тогда [math]\widetilde{f}_m(x,\overline{a})[/math] совпадает с интерполяционным многочленом и метод становится эквивалентным методу интерполяции. При этом [math]\Delta=0[/math] и [math]\delta_m (\overline{a})=0[/math].


2. В каждом конкретном случае может существовать "оптимальная" степень /я, зависящая от конкретного поведения функции, числа [math]n[/math] и вида базисных функций [math]\varphi_j(x)[/math]. Предположим, что точность задания исходной функции характеризуется только одним значением [math]\varepsilon[/math], т.е. [math]\varepsilon_i=\varepsilon[/math] ([math]\varepsilon_i[/math] все одинаковы).


Задавшись некоторым числом [math]m[/math] и определив [math]a_j,~ j=\overline{0,m}[/math], требуется вычислить среднеквадратичное отклонение [math]\delta_m (\overline{a})[/math] и сравнить его с [math]\varepsilon[/math]. Возможны три случая:


а) если [math]\delta_m (\overline{a})\gg \varepsilon[/math], то аппроксимация слишком грубая, степень [math]m[/math] мала и необходимо ее увеличить;

б) если [math]\delta_m (\overline{a})\ll \varepsilon[/math], то аппроксимация физически недостоверна, найденная функция слишком "сплющена", старшие коэффициенты лишние и степень [math]m[/math] надо уменьшить;

в) если [math]\delta_m (\overline{a})\approx \varepsilon[/math], степень многочлена [math]m[/math] "оптимальна".


Расчет обычно начинают с [math]m=1[/math], когда чаще всего [math]\delta_1(\overline{a})=\gg \varepsilon[/math], и увеличивают [math]m[/math], доходя до [math]\delta_m(\overline{a})\approx \varepsilon[/math], если это возможно. Если [math]\delta_m(\overline{a})[/math] не становится близкой [math]\varepsilon[/math], то следует искать более подходящий вид базисных функций [math]\varphi_j(x)[/math] или использовать, например, двухпараметрические зависимости.


3. Система (4.53) при [math]m\gg1[/math] становится плохо обусловленной и определить полином [math]\widetilde{f}_m(x,\overline{a})[/math] практически невозможно. Это связано с тем, что строки матрицы [math]A[/math] при больших [math]m[/math] оказываются почти линейно зависимыми и, следовательно, [math]\det A\approx0[/math]. Чтобы этого избежать, необходимо вместо степенных базисных функций использовать полиномы Чебышева, способ реализации которых изложен ниже, либо строить аппроксимирующие полиномы методом интегрального приближения.


4. Метод наименьших квадратов реализует наилучшее в среднем приближение на всей области определения сеточной функции [math]y_i=f(x_i)[/math] и в некоторых случаях не учитывает локальных свойств аппроксимируемой функции (например, одиночный резкий "всплеск").


5. Реализация метода наименьших квадратов с использованием степенных функций связана с решением системы линейных алгебраических уравнений относительно неопределенных коэффициентов, причем при изменении степени т все коэффициенты необходимо рассчитывать заново. Этот недостаток устраняется выбором ортогональных базисных функций [math]\varphi_j(x)[/math].


Пример 4.9. Решить задачу аппроксимации сеточной функции, заданной табл. 4.13, при [math]m=1[/math] и [math]m=2[/math].


[math]\begin{array}{|c||c|c|c|c|} \multicolumn{5}{r}{\mathit{Table~4.13}} \\\hline i& 0& 1& 2& 3 \\\hline x_i& 2& 3& 4& 5 \\\hline f(x_i)= f_i& 7& 5& 8& 7 \\\hline \end{array}[/math]

Пусть степень многочлена [math]m=1[/math], тогда решение ищется в виде [math]\widetilde{f}_1(x,\overline{a})= a_0+a_1x[/math].


1. Для составления системы (4.53): [math]\begin{cases} s_0a_0+ s_1a_1=t_0,\\ s_1a_0+ s_2a_1=t_1,\end{cases}[/math] найдем ее коэффициенты [math]s_0,\,s_1,\,s_2[/math]. Расчеты поместим в табл. 4.14, где в последней числовой строке находятся коэффициенты системы.


[math]\begin{array}{|c|c|c|c|c|}\multicolumn{5}{r}{\mathit{Table~4.14}}\\\hline x_i& f_i& 1& x_i^2& x_if_i \\\hline 2& 7& 1& 4& 14\\\hline 3& 5& 1& 9& 15\\\hline 4& 8& 1& 16& 32\\\hline 5& 7& 1& 25& 35\\\hline 14& 27& 4& 54& 96\\\hline s_1& t_0& s_0& s_2& t_1\\\hline \end{array}[/math]

В результате получаем [math]\begin{cases}4a_0+14a_1=27,\\ 14a_0+54a_1=96.\end{cases}[/math].


2. Решение системы: [math]a_0=5,\!7;~ a_1=0,\!3[/math].


3. Искомая сглаживающая функция имеет вид [math]\widetilde{f}_1(x, \overline{a})= 5,\!7+ 0,\!3x[/math], а среднеквадратичная погрешность [math]\delta_1(\overline{a})=1,\!0368[/math].


Пусть [math]m=2[/math], тогда решение ищется в виде [math]\widetilde{f}_1(x, \overline{a})= a_0+ a_1x+ a_2x^2[/math].


1. Составим систему (4.53):


[math]\begin{cases}s_0a_0+ s_1a_1+ s_2a_2= t_0,\\ s_1a_0+ s_2a_1+ s_3a_2= t_2,\\ s_2a_0+ s_3a_1+ s_4a_2= t_0. \end{cases}[/math]

Расчеты коэффициентов системы приведены в табл. 4.15.


[math]\begin{array}{|c|c|c|c|c|c|c|c|} \multicolumn{8}{r}{\mathit{Table~4.15}} \\\hline x_i& f_i& 1& x_i^2& x_i^3& x_i^4& x_if_i& x_i^2f_i\\\hline 2& 7& 1& 4& 8& 16& 14& 28\\\hline 3& 5& 1& 9& 27& 81& 15& 45\\\hline 4& 8& 1& 16& 64& 256& 32& 128\\\hline 5& 7& 1& 25& 125& 625& 35& 175\\\hline 14& 27& 4& 54& 224& 978& 96& 376\\\hline s_1& t_0& s_0& s_2& s_3& s_4& t_1& t_2\\\hline \end{array}[/math]

В результате получаем систему


[math]\begin{cases}4a_0+ 14a_1+ 54a_2=27,\\ 14a_0+ 54a_1+ 224a_2= 96,\\ 54a_0+ 224a_1+ 978a_2= 376.\end{cases}[/math]

2. Решаем полученную систему методом Гаусса.

Прямой ход:

[math]\begin{pmatrix}4&14&54&27\\ 14&54&224&96\\ 54&224& 978&376 \end{pmatrix}\to \begin{pmatrix}1& 3,\!5& 13,\!5& 6,\!75\\ 0&5& 35& 1,\!5\\ 0&35&249&11,\!5 \end{pmatrix}\to \begin{pmatrix}1& 3,\!5& 13,\!5& 6,\!75\\ 0&1&7&0,\!3\\ 0&0&4&1 \end{pmatrix}\to \begin{pmatrix}1& 3,\!5& 13,\!5& 6,\!75\\ 0&1&7&0,\!3\\ 0&0&1&0,\!25 \end{pmatrix}\!.[/math]

Обратный ход:


[math]\begin{pmatrix}1& 3,\!5& 13,\!5\\ 0&1&7\\ 0&0&1\end{pmatrix}\!\cdot\! \begin{pmatrix} a_0\\a_1\\a_2 \end{pmatrix}= \begin{pmatrix}6,\!75\\ 0,\!3\\ 0,\!25\end{pmatrix}\quad \Rightarrow\quad \left\{\! \begin{aligned}a_0+ 3,\!5a_1+ 13,\!5a_2&= 6,\!75,\\ a_1+7a_2&=0,\!3,\\ a_2&=0,\!25. \end{aligned}\right.[/math]

Отсюда [math]a_1=\frac{1}{4},~ a_1=\frac{3}{10}-7\cdot \frac{1}{4}=-\frac{29}{20},~ a_0= \frac{27}{4}-\frac{27}{4}\,a_2-\frac{7}{2}\,a_1= \frac{169}{20}[/math].


3. Искомая сглаживающая функция [math]\widetilde{f}_2(x,\overline{a})= \frac{169}{20}-\frac{29}{20}\,x+ \frac{1}{4}\,x^2[/math], а среднеквадратичная погрешность [math]\delta_2(\overline{a})=1,\!0062[/math].


На рис. 4.8 изображены заданная сеточная функция, сглаживающие многочлены при [math]m=1[/math] и [math]m=2[/math], а также интерполяционный многочлен, полученный в примерах 4.1 и 4.4 (при этом [math]m=3[/math]).


Пример 4.10. Пусть сеточное представление формульной функции [math]y=\ln x[/math] задано на отрезке [math][l;5][/math] с погрешностью [math]\varepsilon=0,\!1[/math] (табл. 4.16). По этим данным найти сглаживающий многочлен [math]\widetilde{f}_m(x,\overline{a})[/math] методом наименьших квадратов с использованием последовательного выбора степени [math]m=1,2,\ldots[/math].
[math]\begin{array}{|c|c|c|c|c|c|} \multicolumn{6}{r}{\mathit{Table~4.16}} \\\hline i& 0& 1& 2& 3& 4\\\hline x_i& 1& 2& 3& 4& 5\\\hline f_i& -0,\!070& 0,\!760& 1,\!000& 1,\!526& 1,\!449\\\hline \end{array}[/math]

Примем сначала [math]m=1[/math].


1. Искомая функция [math]\widetilde{f}_1(x,\overline{a})=a_0+ a_1x[/math] определяется из системы (4.53):


[math]\begin{cases}a_0\sum\limits_{i=0}^{4}1+ a_1\sum\limits_{i=0}^{4}x_i= \sum\limits_{i=0}^{4}f_i,\\ a_0\sum\limits_{i=0}^{4}x_i+ a_1\sum\limits_{i=0}^{4}x_i^2= \sum\limits_{i=0}^{4}x_if_i, \end{cases} \Rightarrow \begin{cases}5a_0+ 15a_1= 4,\!665,\\ 15a_0+ 55a_1= 17,\!799.\end{cases}[/math]

2. Решая эту систему, например, методом Гаусса, получаем [math]a_0=-2,\!2082;~ a_1=0,\!3804[/math].


3. Сглаживающий многочлен имеет вид [math]\widetilde{f}_1(x,\overline{a})=-0,\!2082+ 0,\!3804x[/math]. Вычислим среднеквадратичную погрешность [math]\delta_1=0,\!205> \varepsilon=0,\!1[/math].


Так как условие [math]\delta_i\approx \varepsilon[/math] не выполнено, возьмем [math]m=2\colon[/math] [math]\widetilde{f}_2(x,\overline{a})=a_0+ a_1x+ a_2x^2[/math]. Определяя [math]a_0,\,a_1,\,a_2[/math] из системы (4.53) при [math]m=2[/math], получаем


[math]\widetilde{f}_2(x,\overline{a})=-0,\!9726+ 1,\!0356x-0,\!092x^2.[/math]

Поскольку среднеквадратичная погрешность [math]\delta_2=0,\!094\leqslant\varepsilon=0,\!1[/math], задача решена.




Применение эмпирических формул


Исходя из приблизительного сходства с экспериментальными данными выбирается одна из двухпараметрических формул, где [math]a_0,\,a_1[/math] — неизвестные коэффициенты:


[math]\begin{aligned}&\widetilde{f}(x,a_0,a_1)= a_0+\frac{a_1}{x}\,;&\qquad{} &\widetilde{f}(x,a_0,a_1)= \frac{1}{a_0+a_1x}\,;&\qquad{} &\widetilde{f}(x,a_0,a_1)= \frac{x}{a_0+a_1x}\,;\\ &\widetilde{f}(x,a_0,a_1)= a_0\cdot a_1^x; &\qquad{} &\widetilde{f}(x,a_0,a_1)= a_0\cdot e^{a_1x}; &\qquad{} &\widetilde{f}(x,a_0,a_1)= \frac{x}{a_0+a_1e^{-x}}\,;\\ &\widetilde{f}(x,a_0,a_1)= a_0+a_1\ln x\,; &\qquad{} &\widetilde{f}(x,a_0,a_1)= \frac{a_0}{a_1+x}\,; &\qquad{} &\widetilde{f}(x,a_0,a_1)= \frac{a_0x}{a_1+x}\,,\,\ldots, \end{aligned}[/math]

Требуется найти коэффициенты [math]a_0,\,a_1[/math] минимизирующие погрешность сглаживания на основе метода наименьших квадратов:


[math]\Delta= \sum\limits_{i=0}^{n} \bigl[\widetilde{f}(x_i,a_0,a_1)-f_i\bigr]^2\to \min_{a_0,\,a_1}.[/math]

Для нахождения коэффициентов [math]a_0,\,a_1[/math] применяются необходимые условия экстремума:


[math]\frac{\partial \Delta}{\partial a_0}=0,\qquad \frac{\partial \Delta}{\partial a_1}=0.[/math]

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


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


[math]\widetilde{f}(x,a_0,a_1,a_2)= a_0x^{a_1}+a_2,~ \widetilde{f}(x,a_0,a_1,a_2)= a_0e^{a_1x}+a_2[/math] и др.



Применение ортогональных базисных функций


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


Функции [math]\varphi_k(x)[/math] и [math]\varphi_l(x)[/math] называются ортогональными на множестве точек [math]\{x_i\},~ i=0,1,\ldots,n[/math], если их скалярное произведение на этом множестве равно нулю:


[math](\varphi_k,\varphi_l)= \sum\limits_{i=0}^{n} \varphi_k(x_i)\cdot \varphi_l(x_i)=0,~ k\ne l.[/math]

Система функций [math]\{\varphi_j(x)\},~ j=0,1,\ldots,m[/math], называется ортогональной на множестве точек [math]\{x_i\},~ i=0,1,\ldots,n[/math], если все функции этой системы попарно ортогональны на этом множестве.


Так, если в обобщенном многочлене


[math]Q_m(x)= a_0\cdot \varphi_0(x)+ a_1\cdot \varphi_1(x)+ \ldots+a_m\cdot \varphi_m(x)[/math]

система базисных функций ортогональная, то [math](\varphi_k,\varphi_l)=0,~ k\ne l[/math], а (4.50) перепишется в виде


[math]\left\{\! \begin{aligned}&(\varphi_0,\varphi_0)\cdot a_0= (f,\varphi_0),\\ &(\varphi_1,\varphi_1)\cdot a_1= (f,\varphi_1),\\ &\vdots\\ &(\varphi_m,\varphi_m)\cdot a_m= (f,\varphi_m), \end{aligned}\right.[/math]

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


[math]a_j= \frac{(f,\varphi_j)}{(\varphi_j,\varphi_j)}= \frac{\sum\limits_{i=0}^{n} f_j\cdot \varphi_j(x_i)}{\sum\limits_{i=0}^{n} \varphi_j^2(x_i)}\,,\quad j=0,1,\ldots,m.[/math]
(4.54)

Коэффициенты (4.54) обобщенного многочлена называются коэффициентами Фурье функции [math]y_i=f(x_i)[/math] относительно ортогональной системы функций.


Теорема 4.2 (о точечном среднеквадратичном приближении функций ортогональными многочленами). Для функции [math]y_i=f(x_i)[/math], определенной на множестве точек [math]\{x_i\},~ i=0,1,\ldots,n[/math], обобщенный многочлен m-й степени [math]Q_m(x)[/math] с коэффициентами Фурье относительно ортогональной на этом множестве точек системы функций [math]\{\varphi_j(x)\}[/math] является многочленом наилучшего среднеквадратичного приближения этой функции, причем квадрат наименьшего среднеквадратичного отклонения определяется соотношением


[math]\rho^2(f,Q_m)= \|f\|^2-\sum\limits_{j=0}^{m} a_j^2\|\varphi_j\|^2,[/math]
(4.55)

где [math]a_j[/math] — коэффициенты Фурье, определяемые по формуле (4.54);


[math]\|f\|^2= \sum\limits_{i=0}^{n} f_i^2,\qquad \|\varphi_j\|^2= \sum\limits_{i=0}^{n} \varphi_j^2(x_i),\qquad \rho(f,Q_m)= \sqrt{\sum\limits_{i=0}^{n} \bigl[Q_m(x)-f_i\bigr]^2}\,.[/math]

Погрешность данного приближения вычисляется по формуле


[math]\overline{\rho}(f,Q_m)= \frac{\rho(f,Q_m)}{\|f\|}\,.[/math]
(4.56)

Рассмотрим применение многочленов Чебышева в качестве системы базисных функций, которая используется для получения многочленов [math]Q_m(x)[/math]. Многочленами Чебышева [math]g_0(x), g_1(x),\ldots, g_m(x)[/math] на множестве точек [math]\{x_i\},~ i=0,1,\ldots,n[/math], называются алгебраические многочлены, которые ортогональны на этом множестве, с нормой [math]\|g_k\|[/math], отличной от нуля, и определяются следующими рекуррентными формулами:


[math]g_0(x)\equiv1;\quad g_1(x)=x-a;\qquad g_k(x)= (x-a_k) g_{k-1}(x)-b_kg_{k-2}(x),\quad k=2,3,\ldots,m,[/math]
(4.57)

где [math]a=\frac{1}{n+1} \sum\limits_{i=0}^{n} x_i;~~ a_k= \frac{\sum\limits_{i=0}^{n} x_i\cdot g_{k-1}^2(x_i)}{\sum\limits_{i=0}^{n} g_{k-1}^2(x_i)}\,;~~ b_k= \frac{\sum\limits_{i=0}^{n} x_i\cdot g_{k-2}(x_i)\cdot g_{k-1}(x_i)}{\sum\limits_{i=0}^{n} g_{k-2}^2(x_i)}[/math].


Соотношения для коэффициентов[math]a,\,a_k,\,b_k[/math] получены из условия ортогональности.


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


Пример 4.11. Пусть дана сеточная функция (табл. 4.17). Требуется сгладить эту функцию алгебраическими многочленами наилучшего среднеквадратичного приближения [math]Q_0(x), Q_1(x), Q_2(x), Q_3(x)[/math], где


[math]\begin{aligned}&Q_0(x)= a_0\cdot g_0(x),\\ &Q_1(x)= a_0\cdot g_0(x)+ a_1\cdot g_1(x),\\ &Q_1(x)= a_0\cdot g_0(x)+ a_1\cdot g_1(x)+ a_2\cdot g_2(x),\\ &Q_1(x)= a_0\cdot g_0(x)+ a_1\cdot g_1(x)+ a_2\cdot g_2(x)+ a_3\cdot g_3(x), \end{aligned}[/math]

и найти погрешность каждого из указанных приближений, то есть [math]\overline{\rho}(f, Q_0), \overline{\rho}(f, Q_1), \overline{\rho}(f, Q_2), \overline{\rho}(f, Q_3)[/math].


[math]\begin{array}{|c|c|c|c|c|} \multicolumn{5}{r}{\mathit{Table~4.17}}\\\hline i& 0& 1& 2& 3 \\\hline x_i& 0& 1& 3& 4 \\\hline f_i& 4& 0& 1& 2 \\\hline \end{array}[/math]

1. Определим ортогональные многочлены Чебышева [math]g_0(x), g_1(x), g_2(x), g_3(x)[/math] на множестве точек [math]\{0;1;3;4\}[/math].


Сначала найдем [math]g_0(x), g_1(x)[/math]. В соответствии с первой формулой из (4.57) функция [math]g_0(x)=1[/math], а многочлен [math]\textstyle{g_1(x)= x-a,~ a=\frac{n+1}{1} \sum\limits_{i=0}^{n} x_i}[/math]. При [math]n=3[/math] получаем [math]\textstyle{a= \frac{1}{4} \sum\limits_{i=0}^{3} x_i= \frac{1}{4}(0+1+3+4)=2}[/math]. Таким образом, [math]g_0(x)=1,~ g_1(x)=x-2[/math].


Теперь определим многочлен [math]g_2(x)[/math], для которого справедлива формула [math]g_2(x)= (x-a_2)g_1(x)-b_2g_0(x)[/math]. Функции [math]g_0(x)[/math] и [math]g_1(x)[/math] получены. Требуется только найти [math]a_2[/math] и [math]b_2\colon[/math]


[math]a_2= \frac{\sum\limits_{i=0}^{3} x_i\cdot g_1^2(x_i)}{\|g_1\|^2};\qquad b_2=\frac{\sum\limits_{i=0}^{3} x_i\cdot g_0(x_i)\cdot g_1(x_i)}{\|g_0\|^2}\,.[/math]

Вычислим сначала квадраты норм [math]\|g_0\|^2[/math] и [math]\|g_1\|^2\colon[/math]


[math]\begin{gathered}\|g_0\|^2= \sum\limits_{i=0}^{3} g_0^2(x_i)=4;\\[2pt] \|g_2\|^2= \sum\limits_{i=0}^{3} g_1^2(x_i)= g_1^2(0)+ g_1^2(1)+ g_1^2(3)+ g_1^2(4)= (0-2)^2+ (1-2)^2+ (3-2)^2+ (4-2)^2=10.\end{gathered}[/math]

Далее найдем [math]a_2[/math] и [math]b_2\colon[/math]


[math]\begin{gathered}a_2= \frac{1}{10} \sum\limits_{i=0}^{3} x_i\cdot g_i^2(x_i)= \frac{1}{10} \bigl[0\cdot g_1^2(0)+ 1\cdot g_1^2(1)+ 3\cdot g_1^2(3)+ 4\cdot g_1^2(4)\bigr]= \frac{0+1+3+4}{10}=2;\\[2pt] b_2= \frac{1}{4} \sum\limits_{i=0}^{3} x_i\cdot g_0^2(x_i)\cdot g_i(x_i)= \frac{1}{4}\bigl[0\cdot1\cdot(-2)+ 1\cdot1\cdot(-1)+3\cdot1\cdot1+ 4\cdot1\cdot2\bigr]= \frac{5}{2}\,. \end{gathered}[/math]

Итак, многочлен [math]g_2(x)= (x-2)g_1(x)-\frac{5}{2} g_0(x)= (x-2)^2-\frac{5}{2}[/math].


Определим многочлен [math]g_3(x)[/math], для которого справедлива формула [math]g_3(x)=(x-a_3)g_1(x)-b_3g_1(x)[/math]. Функции [math]g_1(x)[/math] и [math]g_2(x)[/math] получены. Требуется найти [math]a_3,\,b_3\colon[/math]


[math]a_3= \frac{\sum\limits_{i=0}^{3} x_i\cdot g_2^2(x_i)}{\|g_2\|^2}\,;\qquad b_3=\frac{\sum\limits_{i=0}^{3} x_i\cdot g_1(x_i)\cdot g_2(x_i)}{\|g_1\|^2}\,.[/math]

Вычислим сначала квадрат нормы [math]\|g_2\|^2\colon[/math]


[math]\begin{aligned}\|g_2\|^2&= \sum\limits_{i=0}^{3} g_2^2(x_i)= \underbrace{\left[(x_0-2)^2-\frac{5}{2}\right]^2}_{g_2^2(x_0)}+ \underbrace{\left[(x_1-2)^2-\frac{5}{2}\right]^2}_{g_2^2(x_1)}+ \underbrace{\left[(x_2-2)^2-\frac{5}{2}\right]^2}_{g_2^2(x_2)}+ \underbrace{\left[(x_3-2)^2-\frac{5}{2}\right]^2}_{g_2^2(x_3)}=\\ &=\underbrace{{\left(4-\frac{5}{2}\right)\!}^2}_{9\!\not{\phantom{|}}\,\,4}+ \underbrace{{\left(1-\frac{5}{2}\right)\!}^2}_{9\!\not{\phantom{|}}\,\,4}+ \underbrace{{\left(1-\frac{5}{2}\right)\!}^2}_{9\!\not{\phantom{|}}\,\,4}+ \underbrace{{\left(4-\frac{5}{2}\right)\!}^2}_{9\!\not{\phantom{|}}\,\,4}=9. \end{aligned}[/math]

Далее найдем [math]a_3,\,b_3\colon[/math]


[math]\begin{gathered}a_3= \frac{\sum\limits_{i=0}^{3} x_i\cdot g_2^2(x_i)}{\|g_2\|^2}= \frac{1}{9}\! \left(0\cdot \frac{9}{4}+ 1\cdot \frac{9}{4}+ 3\cdot \frac{9}{4}+ 4\cdot \frac{9}{4}\right)=2;\\ b_3= \frac{\sum\limits_{i=0}^{3} x_i\cdot g_1(x_i)\cdot g_2(x_i)}{\|g_1\|^2}= \frac{1}{9} \left[0\cdot(-2)\cdot \frac{3}{2}+ 1\cdot(-1)\cdot\! \left(-\frac{3}{2}\right)+ 3\cdot1\cdot\! \left(-\frac{3}{2}\right)+ 4\cdot2\cdot \frac{1}{2}\right]= \frac{9}{10}\,. \end{gathered}[/math]

Итак, [math]g_3(x)= (x-2)\left[(x-2)^2-\frac{5}{2}\right]-\frac{9}{10}(x-2)= (x-2)^3-\frac{17}{5}(x-2)[/math].


Аналогичные вычисления выполним для многочлена [math]g_3(x)\colon[/math]


[math]\begin{gathered}\|g_3\|^2= \sum\limits_{i=0}^{3} g_3^2(x_i)= g_3^2(x_0)+g_3^2(x_1)+ g_3^2(x_2)+ g_3^2(x_3);\\[2pt] \Bigl.{g_3(x_0)}\Bigr|_{x_0=0}=-8+\frac{34}{5}=-\frac{6}{5}\,;\qquad \Bigl.{g_3(x_1)}\Bigr|_{x_1=1}=-1-\frac{17}{5}\cdot(-1)=\frac{12}{5}\,;\\[2pt] \Bigl.{g_3(x_2) }\Bigr|_{x_2=3}=1-\frac{17}{5}=-\frac{12}{5}\,;\qquad \Bigl.{g_3(x_3)}\Bigr|_{x_3=4}= 8-\frac{17}{5}\cdot2= \frac{6}{5}\,;\\[4pt] \|g_3\|^2= \frac{36}{25}+ \frac{144}{25}+ \frac{144}{25}+ \frac{36}{25}= \frac{72}{5}\,.\end{gathered}[/math]

Значения многочленов [math]g_0(x),\, g_1(x),\, g_2(x),\, g_3(x)[/math] на множестве точек [math]\{0;1;3;4\}[/math] представлены в табл. 4.18.


[math]\begin{array}{|c|c|c|c|c|c|} \multicolumn{6}{r}{\mathit{Table~4.18}}\\\hline i& x_i& g_0(x_i)& g_1(x_i)& g_2(x_i)& g_3(x_i)\\\hline 0&0&1&-2&1,\!5&-1,\!2\\\hline 1&1&1&-1&-1,\!5&2,\!4 1\\\hline 2&3&1&1&-1,\!5&-2,\!4\\\hline 3&4&1&2&1,\!5&1,\!2\\\hline \end{array}[/math]

2. Определим многочлены наилучшего среднеквадратичного приближения [math]Q_0(x),\, Q_1(x),\, Q_2(x),\, Q_3(x)\colon[/math]


[math]Q_0(x)= a_0\cdot g_0(x);\qquad a_0= \frac{(f,g_0)}{\|g_0\|^2}= \frac{\sum\limits_{i=0}^{3} f_i\cdot g_0(x_i)}{\|g_0\|^2}= \frac{1}{4}\bigl(4\cdot1+ 0\cdot1+ 1\cdot1+ 2\cdot1\bigr)= \frac{7}{4}\,.[/math]

Таким образом, сглаживающий многочлен [math]Q_0(x)= \frac{7}{4}[/math];


[math]Q_1(x)= a_0g_0(x)+ a_1g_1(x);\qquad a_1=\frac{(f,g_1)}{\|g_1\|^2}= \frac{\sum\limits_{i=0}^{3} f_i\cdot g_1(x_i)}{\|g_1\|^2}= \frac{4\cdot(-2)+ 0\cdot(-1)+ 1\cdot1+ 2\cdot2}{10}=-\frac{3}{10}\,.[/math]

Таким образом, [math]Q_1(x)= \frac{7}{4}-\frac{3}{10}(x-2)=-\frac{3}{10}\,x+\frac{47}{20}[/math];


[math]\begin{gathered}Q_2(x)= a_0g_0(x)+ a_1g_1(x)+ a_2g_2(x);\\[2pt] a_2= \frac{(f,g_2)}{\|g_2\|^2}= \frac{\sum\limits_{i=0}^{3} f_i\cdot g_2(x_i)}{\|g_2\|^2}= \frac{1}{9}\! \left(4\cdot \frac{3}{2}-0\cdot \frac{3}{2}-1\cdot \frac{3}{2}+ 2\cdot \frac{3}{2}\right) =\frac{5}{6}\,;\\[2pt] Q_2(x)=-\frac{3}{10}\,x+ \frac{47}{20}+ \frac{5}{6} \left[(x-2)^2-\frac{5}{2}\right]= \frac{5}{6}\,x^2-\frac{109}{30}\,x+ \frac{18}{5}\,; \end{gathered}[/math]

[math]\begin{gathered}Q_3(x)= a_0g_0(x)+ a_1g_1(x)+ a_2g_2(x)+ a_3g_3(x);\\[2pt] a_3= \frac{(f,g_3)}{\|g_3\|^2}= \frac{\sum\limits_{i=0}^{3} f_i\cdot g_3(x_i)}{\|g_3\|^2}= \frac{5}{72} \left[4\cdot\! \left(-\frac{6}{5}\right)+ 0\cdot \frac{12}{5}+ 1\cdot\! \left(-\frac{12}{5}\right)+ 2\cdot \frac{6}{5}\right] =-\frac{1}{3}\,;\\[2pt] Q_3(x)= \frac{5}{6}\,x^2-\frac{109}{30}\,x+ \frac{18}{5}-\frac{1}{3} \left[(x-2)^2+ \frac{17}{5}(x-2)\right]=-\frac{1}{3}\,x^3+ \frac{17}{6}\,x^2-\frac{13}{2}\,x+4. \end{gathered}[/math]

Значения алгебраических многочленов наилучшего среднеквадратичного приближения в точках [math]x_i[/math] представлены в табл. 4.19.


[math]\begin{array}{|c|c|c|c|c|c|c|} \multicolumn{7}{r}{\mathit{Table~4.19}}\\\hline i& x_i& Q_0(x_i)& Q_1(x_i)& Q_2(x_i)& Q_3(x_i)& f_i\\\hline 0&0&1,\!75&2,\!35&3,\!6&4,\!00&4\\\hline 1&1&1,\!75&2,\!05&0,\!8&0,\!00&0\\\hline 2&3&1,\!75&1,\!45&0,\!2&1,\!00&1\\\hline 3&4&1,\!75&1,\!15&2,\!4&2,\!00&2\\\hline \end{array}[/math]

3. Найдем погрешности приближений функции [math]y_i=f(x_i)[/math] многочленами [math]Q_0(x_i),\, Q_1(x_i),\, Q_2(x_i),\, Q_3(x_i)[/math].


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


Определим [math]\textstyle{\|f\|\colon~ \|f\|= (f,f)^{1\!\not{\phantom{|}}\,\,2}= \sqrt{\sum\limits_{i=0}^{3} f_i}= \sqrt{16+0+1+4}= \sqrt{21}}[/math].


Тогда можно получить численное значение погрешности многочлена


[math]\overline{\rho}(f,Q_0)= \frac{1}{\sqrt{21}} \sqrt{\rho^2(f,Q_0)}= \frac{1}{\sqrt{21}}\sqrt{\|f\|^2-a_0\cdot \|g_0\|^2}= \frac{1}{\sqrt{21}}\sqrt{21-\frac{49}{16}\cdot4}= \sqrt{\frac{50}{12}}\approx 0,\!645.[/math]

Аналогично находятся [math]\overline{\rho}(f,Q_1)\approx0,\!611;~ \overline{\rho}(f,Q_2)\approx 0,\!276[/math];


[math]\overline{\rho}(f,Q_3)= \frac{1}{\|f\|} \sqrt{\|f\|^2-\sum\limits_{j=0}^{3} a_j^2\|g_j\|^2}= \frac{1}{\sqrt{21}} \sqrt{21-\left(\frac{49}{16}\cdot4+ \frac{9}{100}\cdot10+ \frac{25}{36}\cdot9+ \frac{1}{9}\cdot \frac{72}{5}\right)}=0.[/math]

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




Метод наилучшего интегрального приближения


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


[math]\widetilde{f}_m(x,\overline{a})\equiv S_m(x)= a_0+a_1x+ a_2x^2+ \ldots+ a_mx^m[/math]

из условия (4.45), если функция задана первым способом (т.е. интегралами [math]I_0^1,I_1^2, \ldots, I_m^{m+1}[/math]) , или из условия (4.46), если функция задана вторым способом (интегралами [math]I_0^1,I_0^2, \ldots, I_0^{m+1}[/math]).


Для вычисления коэффициентов многочлена используются интегральные условия согласования (4.45) или (4.46). Условие (4.45) имеет вид


[math]\begin{array}{l}\int\limits_{x_0}^{x_1} (a_0+a_1x+ a_2x^2+ \ldots+ a_mx^m)\,dx= I_0^1,\\ \int\limits_{x_1}^{x_2} (a_0+a_1x+ a_2x^2+ \ldots+ a_mx^m)\,dx= I_1^2,\\ \quad\vdots\\ \int\limits_{x_m}^{x_{m+1}} (a_0+a_1x+ a_2x^2+ \ldots+ a_mx^m)\,dx= I_m^{m+1}. \end{array}[/math]
(4.58)

Условие (4.46) приводит к системе


[math]\begin{array}{l}\int\limits_{x_0}^{x_1} (a_0+a_1x+ a_2x^2+ \ldots+ a_mx^m)\,dx= I_0^1,\\ \int\limits_{x_0}^{x_2} (a_0+a_1x+ a_2x^2+ \ldots+ a_mx^m)\,dx= I_0^2,\\ \quad\vdots\\ \int\limits_{x_0}^{x_{m+1}} (a_0+a_1x+ a_2x^2+ \ldots+ a_mx^m)\,dx= I_0^{m+1}. \end{array}[/math]
(4.59)

Интегрируя левые части каждой из систем (4.58),(4.59) и решая соответствующие системы [math](m+1)[/math] линейных алгебраических уравнений с [math](m+1)[/math] неизвестными, можно найти коэффициенты [math]a_0,a_1,a_2,\ldots,a_m[/math] и искомые сглаживающие многочлены [math]\widetilde{f}_m(x,\overline{a})[/math].


Замечания


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

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


[math]\begin{vmatrix}\int\limits_{x_0}^{x_1}dx& \int\limits_{x_0}^{x_1}x\,dx& \cdots& \int\limits_{x_0}^{x_1}x^m\,dx\\ \int\limits_{x_1}^{x_2}dx& \int\limits_{x_1}^{x_2}x\,dx& \cdots& \int\limits_{x_1}^{x_2}x^m\,dx\\ \vdots& \vdots& \ddots& \vdots\\ \int\limits_{x_m}^{x_{m+1}}dx& \int\limits_{x_m}^{x_{m+1}}x\,dx& \cdots& \int\limits_{x_m}^{x_{m+1}}x^m\,dx \end{vmatrix}\ne0[/math] и [math]\begin{vmatrix}\int\limits_{x_0}^{x_1}dx& \int\limits_{x_0}^{x_1} x\,dx& \cdots& \int\limits_{x_0}^{x_1}x^m\,dx\\ \int\limits_{x_0}^{x_2}dx& \int\limits_{x_0}^{x_2} x\,dx& \cdots& \int\limits_{x_0}^{x_2}x^m\,dx\\ \vdots& \vdots& \ddots& \vdots\\ \int\limits_{x_0}^{x_{m+1}}dx& \int\limits_{x_0}^{x_{m+1}}x\,dx& \cdots& \int\limits_{x_0}^{x_{m+1}}x^m\,dx \end{vmatrix}\ne0[/math].

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

3. При небольших [math]m~(m\leqslant 7)[/math] решать систему (4.58) необязательно, так как ее решение можно записать сразу, если ввести в рассмотрение конечно-интегральные разности.

4. При больших [math]m[/math] глобальный способ построения многочленов наилучшего интегрального приближения, как и интерполяционных многочленов, использовать не рекомендуется.


Применим теперь кусочный способ. Рассмотрим сеточную функцию, заданную на равномерной сетке [math](h=\text{const})\colon[/math] [math]y_i=f(x_i),~ i=\overline{0,n}[/math]. Пусть степень многочлена равна [math]m[/math], и этот многочлен строится на некотором внутреннем отрезке [math][x_k,x_{k+m+1}],~ k=0,1,\ldots,n-m-1[/math]. Этот отрезок, в свою очередь, заключает в себе [math](m+1)[/math] частичных отрезков, на которых заданы интегралы [math]I_{k}^{k+1}, I_{k+1}^{k+2},\ldots, I_{k+m}^{k+m+1},[/math]. Для большей унификации обозначений индексов будем считать, что для [math]m=1[/math] на частичном отрезке [math][x_k,x_{k+2}][/math] определено дополнительное разбиение этого отрезка на два подотрезка [math](p=2)[/math], для [math]m=2[/math] на частичном отрезке [math][x_k,x_{k+3}][/math] определено разбиение на три подотрезка [math](p=3)[/math] и т.д.


Конечно-интегральные разности определяются по следующим формулам:


– конечно-интегральные разности первого порядка [math](m=1,~ p=2)\colon[/math]


[math]\Delta I_{k}^{k+1\!\not{\phantom{|}}\,\,p}= I_{k+1\!\not{\phantom{|}}\,\,p}^{k+ 2\!\not{\phantom{|}}\,\,p}-I_{k}^{k+1\!\not{\phantom{|}}\,\,p};[/math]

– конечно-интегральные разности второго порядка [math](m=2,~ p=3)\colon[/math]


[math]\Delta^2 I_{k}^{k+1\!\not{\phantom{|}}\,\,p}= \Delta I_{k+1\!\not{\phantom{|}}\,\,p}^{k+ 2\!\not{\phantom{|}}\,\,p}-\Delta I_{k}^{k+ 1\!\not{\phantom{|}}\,\,p}= I_{k}^{k+ 1\!\not{\phantom{|}}\,\,p}-2I_{k+1\!\not{\phantom{|}}\,\,p}^{k+ 2\!\not{\phantom{|}}\,\,p}+ I_{k+2\!\not{\phantom{|}}\,\,p}^{k+ 2\!\not{\phantom{|}}\,\,p};[/math]

– конечно-интегральные разности i-го порядка [math](m=i,~ p=i+1)\colon[/math]


[math]\Delta^i I_{k}^{k+1\!\not{\phantom{|}}\,\,p}= \Delta^{i-1} I_{k+ 1\!\not{\phantom{|}}\,\,p}^{k+ 2\!\not{\phantom{|}}\,\,p}-\Delta^{i-1} I_{k}^{k+ 1\!\not{\phantom{|}}\,\,p}= \sum\limits_{j=0}^{i} (-1)^j C_{i}^{j} I_{k+j\!\not{\phantom{|}}\,\,p}^{k+ (j+1)\!\not{\phantom{|}}\,\,p}.[/math]

Здесь для многочленов степени [math]m=1,~ m=2,~ m=3[/math] принимается [math]p=2,~ p=3,~ p=4[/math] соответственно и т.д.


Тогда, например, для [math]S_1(x),\, S_2(x),\, S_3(x)[/math] на отрезках [math][x_{k},x_{k+2}],\, [x_{k},x_{k+3}],\, [x_{k},x_{k+4}][/math] получаем:


[math]S_1(x)= \frac{2}{h_k}\! \left(I_{k}^{k+ \frac{1}{2}}-\frac{1}{2}\,\Delta I_{k}^{k+ \frac{1}{2}}\right)+ \frac{2^2}{h_k^2}\,\Delta I_{k}^{k+\frac{1}{2}} (x-x_k).[/math]
(4.60)

[math]S_2(x)= \frac{3}{h_k}\! \left(I_{k}^{k+\frac{1}{3}}-\frac{1}{2}\,\Delta I_{k}^{k+\frac{1}{3}}+ \frac{1}{3}\,\Delta^2I_{k}^{k+\frac{1}{3}}\right)+ \frac{3^2}{h_k^2}\! \left(\Delta I_{k}^{k+\frac{1}{3}}-\Delta^2 I_{k}^{k+\frac{1}{3}}\right)\!(x-x_k)+ \frac{3^3}{2h_k^3}\,\Delta^2I_{k}^{k+\frac{1}{3}}(x-x_k)^2,[/math]
(4.61)

[math]\begin{aligned}S_3(x)&= \frac{4}{h_k}\! \left(I_{k}^{k+\frac{1}{4}}-\frac{1}{2}\, \Delta I_{k}^{k+\frac{1}{4}}+ \frac{1}{3}\,\Delta^2 I_{k}^{k+\frac{1}{4}}-\frac{1}{4}\,\Delta^3 I_{k}^{k+\frac{1}{4}}\right)+ \frac{4^2}{h_k^2}\! \left(\Delta I_{k}^{k+\frac{1}{4}}-\Delta^2 I_{k}^{k+\frac{1}{4}}+ \frac{11}{12}\,\Delta^3 I_{k}^{k+\frac{1}{4}}\right)\!(x-x_k)\,+\\ &\qquad +\,\frac{4^3}{h_k^3}\! \left(\frac{1}{2}\,\Delta^2 I_{k}^{k+\frac{1}{4}}-\frac{3}{4}\, \Delta^3 I_{k}^{k+\frac{1}{4}}\right)\!(x-x_k)^2+ \frac{4^4}{6h_k^4}\,\Delta^3I_{k}^{k+\frac{1}{4}}(x-x_k)^3. \end{aligned}[/math]
(4.62)

Здесь [math]h_k=x_{k+m+1}-x_k[/math] — шаг, относящийся к внутреннему отрезку [math][x_k, x_{k+m+1}][/math]. Для [math]S_1(x)[/math] используются интегралы [math]I_{k}^{k+ 1\!\not{\phantom{|}}\,\,2},\, I_{k+1\!\not{\phantom{|}}\,\,2}^{k+1}[/math], для [math]S_2(x)[/math] — интегралы [math]I_{k}^{k+1\!\not{\phantom{|}}\,\,3},\, I_{k+ 1\!\not{\phantom{|}}\,\,3}^{k+ 2\!\not{\phantom{|}}\,\,3},\, I_{k+ 2\!\not{\phantom{|}}\,\,3}^{k+1}[/math]; для [math]S_3(x)[/math] — интегралы [math]I_{k}^{k+ 1\!\not{\phantom{|}}\,\,4},\, I_{k+ 1\!\not{\phantom{|}}\,\,4}^{k+ 1\!\not{\phantom{|}}\,\,2},\, I_{k+ 1\!\not{\phantom{|}}\,\,2}^{k+ 3\!\not{\phantom{|}}\,\,4},\, I_{k+ 3\!\not{\phantom{|}}\,\,4}^{k+1}[/math] (рис. 4.9).


Коэффициенты многочленов более высоких степеней могут быть получены рекуррентным способом. Так, многочлены [math]S_m(x)[/math] до степени [math]m=7[/math] имеют вид (где [math]p=m+1[/math])


[math]\begin{aligned}S_m(x)&=\frac{p}{h_k}\! \left(I_{k}^{k+\frac{1}{p}}-\frac{1}{2} \Delta I_{k}^{k+\frac{1}{p}}+ \frac{1}{3} \Delta^2 I_{k}^{k+\frac{1}{p}}-\frac{1}{4} \Delta^3 I_{k}^{k+\frac{1}{p}}+ \frac{1}{5} \Delta^4 I_{k}^{k+\frac{1}{p}}-\frac{1}{6} \Delta^5 I_{k}^{k+\frac{1}{p}}+ \frac{1}{7} \Delta^6 I_{k}^{k+\frac{1}{p}}-\frac{1}{8} \Delta^7 I_{k}^{k+\frac{1}{p}}\right)+\\[2pt] &\quad +\,\frac{p^2}{h_k^2}\! \left(\Delta I_{k}^{k+\frac{1}{p}}-\Delta^2 I_{k}^{k+\frac{1}{p}}+ \frac{11}{12} \Delta^3 I_{k}^{k+\frac{1}{p}}-\frac{10}{12}\Delta^4 I_{k}^{k+\frac{1}{p}}+ \frac{137}{180} \Delta^5 I_{k}^{k+\frac{1}{p}}-\frac{7}{10} \Delta^6 I_{k}^{k+\frac{1}{p}}+ \frac{363}{560}\Delta^7 I_{k}^{k+\frac{1}{p}}\right)\!(x-x_k)+\\[2pt] &\quad +\,\frac{p^3}{h_k^3}\! \left(\frac{1}{2}\Delta^2 I_{k}^{k+\frac{1}{p}}-\frac{3}{4} \Delta^3 I_{k}^{k+\frac{1}{p}}+ \frac{7}{8} \Delta^4 I_{k}^{k+\frac{1}{p}}-\frac{15}{16}\Delta^5 I_{k}^{k+\frac{1}{p}}+ \frac{29}{30} \Delta^6 I_{k}^{k+\frac{1}{p}}-\frac{469}{480} \Delta^7 I_{k}^{k+\frac{1}{p}}\right)\!(x-x_k)^2+\\[2pt] &\quad +\,\frac{p^4}{h_k^4}\! \left(\frac{1}{6} \Delta^3 I_{k}^{k+\frac{1}{p}}-\frac{1}{3} \Delta^4 I_{k}^{k+\frac{1}{p}}+ \frac{17}{36}\Delta^5 I_{k}^{k+\frac{1}{p}}-\frac{7}{12} \Delta^6 I_{k}^{k+\frac{1}{p}}+ \frac{967}{1440}\Delta^7 I_{k}^{k+\frac{1}{p}} \right)\!(x-x_k)^3+\\[2pt] &\quad +\,\frac{p^5}{h_k^5}\! \left(\frac{1}{24} \Delta^4 I_{k}^{k+\frac{1}{p}}-\frac{5}{48}\Delta^5 I_{k}^{k+\frac{1}{p}}+ \frac{25}{144} \Delta^6 I_{k}^{k+\frac{1}{p}}-\frac{245}{1008}\Delta^7 I_{k}^{k+\frac{1}{p}}\right)\!(x-x_k)^4+\\[2pt] &\quad +\,\frac{p^6}{h_k^6}\! \left(\frac{1}{120}\Delta^5 I_{k}^{k+\frac{1}{p}}-\frac{1}{40} \Delta^6 I_{k}^{k+\frac{1}{p}}+ \frac{23}{480}\Delta^7 I_{k}^{k+\frac{1}{p}}\right)\!(x-x_k)^5+\\[2pt] &\quad +\,\frac{p^7}{h_k^7}\! \left(\frac{1}{720} \Delta^6 I_{k}^{k+\frac{1}{p}}-\frac{1}{1440}\Delta^7 I_{k}^{k+\frac{1}{p}}\right)\!(x-x_k)^6+ \frac{p^8}{h_k^8} \frac{1}{5040} \Delta^7 I_{k}^{k+\frac{1}{p}}(x-x_k)^7.\end{aligned}[/math]
(4.63)

Для того чтобы воспользоваться формулой (4.63) при [math]m<7[/math], необходимо выбрать его конкретное численное значение, найти интегральные разности порядка [math]m[/math] включительно и подставить их в формулу (4.63), в которой учитываются только слагаемые, имеющие конечно-интегральные разности до порядка [math]m[/math]. Если [math]S_m(x)[/math] строится на всем отрезке [math][a,b][/math], то принимается [math]h_k=b-a[/math]. Правило усечения формулы (4.63) легко устанавливается путем ее сопоставления с формулами (4.60)–(4.62), справедливыми при [math]m=1,\, m=2,\, m=3[/math].


Подчеркнем, что в отличие от метода наименьших квадратов, метод наилучшего интегрального приближения при [math]m\leqslant7[/math] может быть реализован по готовым формулам, и поэтому не требуется решать системы алгебраических уравнений относительно коэффициентов.




Методика решения задачи наилучшего интегрального приближения


1. Выбрать степень [math]m[/math] (как правило, [math]m\leqslant7[/math]) сглаживающего многочлена и отрезок [math][x_k,x_{k+m+1}][/math], на котором он строится. Если многочлен строится на всем отрезке [math][a,b][/math], то выбрать [math]m=7[/math].

2. Подсчитать конечно-интегральные разности до m-то порядка включительно.

3. Выписать сглаживающий многочлен по формуле (4.63).


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


1. Сеточная функция, приведенная в табл. 4.16, задана с шагом [math]h=1[/math], и погрешность [math]\varepsilon_i[/math] составляет величину 0,1. Выберем степень многочлена [math]m=3[/math]. Поскольку [math][x_0,x_k]= [x_0,x_4][/math], то [math]n=4[/math]. Так как [math]n-m-1=4-3-1=0[/math], то [math]k=0[/math], а частичный отрезок [math][x_0,x_{0+3+1}]= [x_0,x_4][/math] совпадает с отрезком [math][a;b]=[1;5][/math].


2. Рассчитаем интегралы [math]I_{i}^{i+ 1\!\not{\phantom{|}}\,\,4}~ (i=0,\ldots,4)[/math] и конечно-интегральные разности до третьего порядка (см. рис. 4.9). Для нахождения интегралов используем простейшую квадратурную формулу трапеций: [math]I_{i}^{i+ 1\!\not{\phantom{|}}\,\,4}= \frac{h}{2}(f_i+ f_{i+ 1\!\not{\phantom{|}}\,\,4})[/math]. Результаты расчетов [math]I_{i}^{i+ 1\!\not{\phantom{|}}\,\,4}[/math] и [math]\Delta^k I_{i}^{i+ 1\!\not{\phantom{|}}\,\,4}~ (k=1,2,3)[/math] приведены в табл. 4.20.


[math]\begin{array}{|c|c|c|c|c|c|} \multicolumn{6}{r}{\mathit{Table~4.20}}\\\hline \begin{matrix}{}\\[-4pt]{}\end{matrix} x_i& f_i& I_{i}^{i+ 1\!\not{\phantom{|}}\,\,4}& \Delta I_{i}^{i+ 1\!\not{\phantom{|}}\,\,4}& \Delta^2 I_{i}^{i+ 1\!\not{\phantom{|}}\,\,4}& \Delta^3 I_{i}^{i+ 1\!\not{\phantom{|}}\,\,4}\\\hline 1&-0,\!070& & & & \\ & & 0,\!3448& & & \\ 2&0,\!760& & 0,\!5352& & \\ & & 0,\!8800& &-0,\!1522& \\ 3&1,\!000& & 0,\!3830& &-0,\!0063 \\ & & 1,\!2630& &-0,\!1585& \\ 4&1,\!526& & 0,\!2245& & \\ & & 1,\!4875& & & \\ 5&1,\!449& & & & \\\hline \end{array}[/math]

3. Подставляя значения конечно-интегральных разностей, представленных верхними значениями в колонках табл. 4.19 и [math]h_k=5-1=4[/math] в формулу (4.62), получаем сглаживающий полином


[math]S_3(x)= 0,\!2804 + 0,\!0682\cdot (x-1) — 0,\!07137\cdot (x-1)^2- 0,\!00105\cdot (x-1)^3.[/math]

Рассчитывая среднеквадратичную погрешность для сглаживающего многочлена, получаем значение [math]\delta=0,\!11[/math], которое приблизительно равно е. Это свидетельствует об обоснованности применения метода сглаживания многочленом наилучшего интегрального приближения. Отличие многочлена [math]S_3(x)[/math] от самой функции [math]f(x)=\ln x[/math] на отрезке [math][1;5][/math] не превышает 0,064.


Часовой пояс: UTC + 4 часа [ Летнее время ]


Яндекс.Метрика

Copyright © 2010-2016 MathHelpPlanet.com. All rights reserved