Глава 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 является параметром соответствующих функций.
еxpfit(x,y,g) – регрессия экспонентой f(x) = aebx + c;
lgsfit(x,y,g) – регрессия логистической функцией f(x) = a/(1+be-cx);
sinfit(x,y,g) – регрессия синусоидой f(x) = asin(x+b) + c;
pwfit(x,y,g) – регрессия степенной функцией f(x) = axb + c;
Программа 5
3. Регрессия общего вида. MathCad может осуществлять регрессию в виде линейной комбинации любых трех функций пользователя:
Y(x) = c0 y0(x) + c1y1(x) + c2y2(x)
Линейную комбинацию функций задают в векторной функции скалярного аргумента F(x), а вектор параметров получают с помощью функции linfit(x,y,F), как показано в программе 6.
Программа 6
4. Сглаживание и фильтрация. При анализе экспериментальных данных, полученных с помощью физических методов исследования (их называют сигналами) часто возникает задача разделение полученного сигнала на высокочастотную и низкочастотную составляющие. Одина из этих составляющих, как правило, является «шумом» – систематической погрешностью, изменяющейся во времени и независимой от основного сигнала. В связи с этим возникают две противоположные задачи – сглаживание и фильтрация. Устранение высокочастотных шумов, когда экспериментальные данные быстро осциллируют около истинной плавной кривой, например при измерении оптической плотности раствора, в котором протекает медленная химическая реакция, называется сглаживанием. Фильтрация – устранение медленно меняющегося фона с целью исследования высокочастотной составляющей. Примером фильтрации данных является обработка экспериментальные данных в электронографии, когда плавно изменяющуюся линию фона вычитают из основной линии и получают так называемую молекулярную составляющую рассеяния электронов.
Для сглаживания в MathCad имеется несколько встроенных функций:
medsmooth (x,y,b) – сглаживание алгоритмом “бегущих медиан”;
ksmooth (x,y,b) – сглаживание на основе функции Гаусса;
supsmooth (x,y) – локальное сглаживание адаптивным алгоритмом;
здесь b – ширина окна сглаживания, x,y – матрица экспериментальных данных.
Сглаживание часто применяют перед интерполяцией или перед дифференцированием экспериментальных данных. В программе 7 используется сглаживание данных двумя из этих функций.
Для решения задачи фильтрации поступают следующим образом. Сначала выясняют природу низкочастотной составляющей и задают функцию. Проводят регрессионный анализ и получают сглаженную кривую. Затем для каждого значения первоначальной экспериментальной функции вычитают сглаженную функцию.
Программа 7
- Введение
- Глава 1 аппроксимация методом наименьших квадратов
- Программа 1
- Контрольные вопросы к главе 1
- Расчетная многовариантная задача № 1
- Варианты творческих заданий
- Глава 2. Способы сглаживания экспериментальных данных в mathcad
- Контрольные вопросы к главе 2
- Расчетная многовариантная задача № 2
- Варианты творческих заданий
- Глава 3. Интерполяция и экстраполяция
- Контрольные вопросы к главе 3
- Расчетная многовариантная задача № 3
- Варианты творческих заданий
- Глава 4. Оптимизация
- Методы одномерной оптимизации
- Контрольные вопросы к главе 4
- Расчетная многовариантная задача № 4
- Варианты творческих заданий
- Глава 5. Интегрирование
- Вычисление определенных интегралов
- Метод прямоугольников
- Метод трапеций
- Численное интегрирование с помощью квадратурных формул
- Метод парабол Симпсона
- Интегрирование с помощью встроенных функций MathCad
- Интегрирование функции, заданной таблично
- Интегральные уравнения получены на основании температурной зависимости теплоемкости индивидуального вещества:
- Контрольные вопросы к главе 5
- Расчетное многовариантное задание № 5
- Расчетное многовариантное задание № 6
- Варианты творческих заданий
- Глава 6. Дифференцирование
- Решение дифференциальных уравнений
- Метод Эйлера
- М етод Эйлера-Коши
- Метод Рунге-Кутта 4 порядка
- Решение дифференциальных уравнений с помощью встроенных функций MathCad
- Оду первого порядка
- Оду второго и выше порядка
- Решение систем оду первого порядка
- Решение «жестких» систем оду
- Контрольные вопросы к главе 6
- Расчетная многовариантная задача № 7
- Расчетная многовариантная задача № 8
- Литература
- Оглавление