Опубликован: 13.08.2013 | Уровень: для всех | Доступ: платный | ВУЗ: Поволжский Государственный Университет Телекоммуникаций и Информатики
Лекция 3:

Статистическая обработка данных в системе MATLAB

В качестве примера рассмотрим простейшие вычисления:


Даже из таких простых примеров можно сделать некоторые выводы:

  • для указания ввода данных используется символ \gg
  • данные вводятся с помощью простейшего строчного редактора;
  • для блокировки результата вычислений некоторого выражения после него надо устанавливать знак (;) (точка с запятой);
  • если не указана переменная для значений результата вычислений, то MATLAB назначает такую переменную с именем ans;
  • знаком присвоения является привычный математикам знак равенства (=);
  • встроенные функции (например cos) записывается строчными буквами и их аргументы указываются в круглых скобках cos(х);
  • результат вычислений выводится в строках вывода (без знака \gg);
  • диалог происходит в стиле "задал вопрос – получил ответ".

Интерполяция и аппроксимация данных.

Под аппроксимацией подразумеваются описание некоторой, порой не заданной явно, зависимости или совокупности представляющих данных с помощью другой, обычно более простой или более единообразной зависимости. Данные могут быть заданны как координаты узловых точек занесенные в таблицу. График аппроксимации функции может не проходить через узловые точки, но приближать их с некоторой среднеквадратичной погрешностью. Это характерно для регрессии – реализации метода наименьших квадратов (МНК).

Основная задача интерполяции – оценить значение представляемой данными зависимости в промежутках между ее узловыми точками. Для этого используются подходящие функции, значения которых в узловых точках совпадают с координатами этих точек. Так при линейной интерполяции зависимости у(х) узловые точки просто соединяются друг с другом отрезками прямых и считается, что искомые промежуточные точки расположены на этих отрезках.

Полиноминальная регрессия

Наиболее известная аппроксимация – полиномиальная. В MATLAB функции аппроксимации определены полиномами по методу наименьших квадратов – полиномиальной регрессии.

Полиномиальную регрессию реализует функция:

  • polyfit(x,y,n) – возвращает вектор коэффициентов полинома p(x) степени n, который с наименьшей погрешностью аппроксимирует функцию y(x) .
  • [p,S] = polyfit(x,y,n) – возвращает коэффициенты полинома p и структуру S для использования вместе с функцией polyfval с целью оценивания или предсказания погрешности.
  • [p,S] = polyfit(x,y,n,mu) – возвращает коэффициенты полинома p и структуру S для использования вместе с функцией polyfval с целью оценивания или предсказания погрешности, но так, что происходит центрирование и масштабирование x, xnorm=(x-mu(1))/mu(2) , где mu(1)=mean(x) и mu(2)=std(x) . Центрирование и масштабирование не только улучшают свойства степенного многочлена, получаемого при помощи polyval, но и значительно повышают качественные характеристики алгоритма аппроксимации.

Пример полиномиальной регрессии для функции cos(x) :

>>x=(-3:0.2:3)'; y=cos(x); p=polyfit(x,y,3)
p = 0.0000   -0.2370    0.0000    0.7719
>> x=(-4:0.2:4)'; y=cos(x);
>> f=polyval(p,x);
>> plot(x,y,'o',x,f)

 

Рис. 5.1.

Рисунок 5.1. дает наглядное представление о точности полиномиальной аппроксимации. Исходные точки обозначены кружочками, в данном примере, рассматривается полином 3 степени, он обозначен сплошной линией.

Елена Ерофеева
Елена Ерофеева
Россия, Тольятти, Тольяттинский филиал Самарского государственного педагогического университета, 1995
Алена Семенова
Алена Семенова
Россия, г. Новосибирск