Аппроксимация экспериментальных данных средствами пакета Matlab

  • 04 мая 2016 г.
  • 2309 Слова
Министерство Образования и науки РФ
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«Ростовский Государственный Строительный Университет»
Кафедра Информационных систем в строительстве



Реферат

на тему: «Аппроксимация экспериментальных данных средствами пакета Matlab»






















г. Ростов-на-Дону
2016 год
Содержение

Введение3
1
Полиномиальная регрессия
3
2
Интерполяция периодических функций рядом Фурье
6
3
Интерполяция на неравномерной сетке
8
4
Одномерная табличная интерполяция
10
5
Двумерная табличная интерполяция
12
6
Трехмерная табличная интерполяция
14
7
N-мерная табличная интерполяция
15
8
Интерполяция кубическим сплайном
16










Введение
Под аппроксимацией обычно подразумевается описание некоторой, поройне заданной явно, зависимости или совокупности представляющих ее данных с помощью другой, обычно более простой или более единообразной зависимости. Часто данные находятся в виде отдельных узловых точек, координаты которых задаются таблицей данных.
Результат аппроксимации может не проходить через узловые точки. Напротив, задача интерполяции — найти данные в окрестности узловых точек. Для этогоиспользуются подходящие функции, значения которых в узловых точках совпадают с координатами этих точек. Например, при линейной интерполяции зависимости у(х) узловые точки соединяются друг с другом отрезками прямых и считается, что искомые промежуточные точки расположены на этих отрезках.
Для повышения точности интерполяции применяют параболы (квадратичная интерполяция) или полиномы более высокой степени(полиномиальная интерполяция). Для обработки данных MATLAB использует различные функции интерполяции и аппроксимации данных. Набор таких функций вместе с несколькими вспомогательными функциями описан в этом разделе.
1. Полиномиальная регрессия
Одна из наиболее известных аппроксимаций — полиномиальная. В системе MATLAB определены функции аппроксимации данных полиномами по методу наименьших квадратов— полиномиальной регрессии. Это выполняет функция, приведенная ниже:
• polyfit(x.y.n) — возвращает вектор коэффициентов полинома р(х) степени п, который с наименьшей среднеквадратичной погрешностью аппроксимирует функцию у(х). Результатом является вектор-строка длиной n+1, содержащий коэффициенты полинома в порядке уменьшения степеней х и у равно n+1, то реализуется обычная полиномиальнаяаппроксимация, при которой график полинома точно проходит через узловые точки с координатами (х.у), хранящиеся в векторах х и у. В противном случае точного совпадения графика с узловыми точками не наблюдается;
• [p.S] = polyflt(x.y.n) — возвращает коэффициенты полинома р и структуру S для использования вместе с функцией polyval с целью оценивания или предсказания погрешности;
• [p.S] = polyf1t(x,y,n,mu)возвращает коэффициенты полинома р и структуру S для использования вместе с функцией polyval с целью оценивания или предска-зния погрешности, но так, что присходит центрирование (нормирование) и масштабирование х, xnorm = (х - mu(l))/mu(2), где mu(l) = mean(x) и mu(2) = std(x). Центрирование и масштабирование не только улучшают свойства степенного многочлена, получаемого при помощи polyval, но и значительноповышают качественные характеристики самого алгоритма аппроксимации.

Рис. 1. Пример использования функции polyfit.
Пример (полиномиальная регрессия для функции s
» х=(-3:0.2:3)':
y=sin(x);
p=polyflt(x.y,3)
р =-0.0953 0.0000 0.8651 -0.0000
»x=(-4:0.2:4)';y=sin(x);
» f=polyval(p,x);plot(x.y.'o',x,f).
Рис. 5, построенный в этом примере, дает наглядное представление о точности полиномиальнойаппроксимации. Следует помнить, что она достаточно точна в небольших окрестностях от точки х = 0, но может иметь большие погрешности за их пределами или в промежутках между узловыми точками.
График аппроксимирующего полинома третьей степени на рис. 1 показан сплошной линией, а точки исходной зависимости обозначены кружками. К сожалению, при степени полинома свыше 5 погрешность...