В этом уроке мы рассмотрим, как можно найти зависимость между данными, полученными из эксперимента.
Аппроксимация
В таблицу занесены данные эксперимента:
Построив график, мы увидим разброс данных:
Мы хотим построить гладкую линию через эти точки. Нахождение функции, которая наилучшим образом соответствует полученным экспериментальным данным, называется аппроксимацией. В одном из простых методов поиска аппроксимирующей функции предполагается, что данные зависят линейно:
Здесь a – угловой коэффициент прямой,b – точа пересечения прямой с осью y. Простейший путь определить эти константы – это провести линию на графике на глаз.
В Mathcad это можно сделать вручную, задав значения констант. Здесь они заданы с использованием глобального определения. Любое изменение этих констант тут же отражается на графике:
Попробуйте изменить a и b, чтобы найти лучшее соответствие. Сначала посмотрите, что произойдет при изменении b, а затем – при изменении a:
Mathcad содержит в себе большой набор функций для аппроксимации и сглаживания. Самой простой является функция line. Для наших данных:
Эти коэффициенты находятся по методу наименьших квадратов.
Теперь, когда соотношение найдено, Вы можете использовать его для оценки значения Y для любого значения X:
Второе значение экстраполировано, т.е. оно найдено для значения X, которое не входит в интервал экспериментально полученных данных.
Интерполяция
Регрессионный анализ используют при большом количестве данных, полученных экспериментально с некоторым разбросом. Если данных немного и Вы знаете, что они точны, можно использовать функции интерполяции.
Мы будем использовать пять точек данных из таблицы:
Предположим, что нам нужно значение Y при X=3.4. Мы можем найти это значение, используя линейную интерполяцию:
Можно посмотреть, что делает функция linterp, построив график:
Linterp проводит прямые линии между точками:
Более продвинутый метод интерполяции использует линейные сплайны. Эта процедура выполняется в два шага. Сначала вычисляется вектор сплайна, затем он используется для интерполяции:
Таким образом, мы получили гладкую линию, проходящую через точки, полученные экспериментально. Такой метод чувствителен к «промахам» — данным, полученными неверно вследствие ошибок проведения эксперимента. Не используйте этот метод при большом числе данных.
Название сплайна – линейный – может сбить с толку: сам сплайн не является прямой. Функция линейна только на концах заданного интервала (вторая производная в конечных точках равна нулю).
Резюме
Мы рассмотрели два способа анализа экспериментальных данных:
- Аппроксимация (регрессионный анализ).
- Интерполяция.
- Чтобы найти прямую, наилучшим образом проходящую через набор точек, необходимо иметь два вектора одинаковой длины: первый содержит независимую переменную x, второй – зависимую переменную y.
- Самый простой метод поиска соответствующей прямой – построить ее на глаз на графике.
- Один из методов автоматического поиска – функция line(X,Y), использующая метод наименьших квадратов. Ее результатом являются коэффициенты a и b прямой.
- Мы рассмотрели два метода интерполяции Mathcad:
- линейная интерполяция linterp(X,Y)
- нелинейная интерполяция с помощью vs=lspline(X,Y); interp(vs,X,Y,x).
No comments yet.