logo search
Аппроксимация 2012_верстка

Глава 2. Способы сглаживания экспериментальных данных в mathcad

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

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

Перечислим способы сглаживания данных в MathCad и дадим характеристику параметрам, которые входят в их синтаксис. Во всех случаях х, у – векторы данных.

1. Регрессия отрезками полиномов. Используется функция s:=loess(x,y,span), где span – параметр, задающий степень сглаживания данных. При больших span дает результаты, не отличающиеся от полиноминальной регрессии. Лучше использовать значение span от 0.5 до 1. Используется в сочетании с функцией A(t):=interp(s,x,y,t).

2. Регрессии специального вида. Каждая из функций выдает вектор параметров a,b,c. Причем надо задавать начальные значения параметров, как это сделано на примере экспоненциальной регрессии в программе 6. Вектор начальных условий g является параметром соответствующих функций.

Программа 5

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

Y(x) = c0 y0(x) + c1y1(x) + c2y2(x)

Линейную комбинацию функций задают в векторной функции скалярного аргумента F(x), а вектор параметров получают с помощью функции linfit(x,y,F), как показано в программе 6.

Программа 6

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

Для сглаживания в MathCad имеется несколько встроенных функций:

здесь b – ширина окна сглаживания, x,y – матрица экспериментальных данных.

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

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

Программа 7