-
Этот урок посвящен традиционной обработке данных. В нем приведены основные функции для обработки данных, представленных массивами. Они широко используются для анализа данных физических, химических, экономических и иных экспериментов.
-
Элементарная статистическая обработка данных в массиве обычно сводится к нахождению их среднего значения, медианы (срединного значения) и стандартного отклонения. Для этого в системе MATLAB определены следующие функции:
-
Многие операции статистической обработки данных выполняются быстрее и надежнее, если данные предварительно отсортированы. Кроме того, нередко представление данных в отсортированном виде более наглядно и ценно. Ряд функций служит для выполнения сортировки элементов массива. Они представлены ниже.
-
Под корреляцией понимается взаимосвязь некоторых величин, представленных данными – векторами или матрицами. Общепринятой мерой линейной корреляции является коэффициент корреляции. Его близость к единице указывает на высокую степень линейной зависимости.
-
Приведенная далее функция позволяет вычислить матрицу ковариации для массива данных. | cov(x) – возвращает смещенную дисперсию элементов вектора х. Для матрицы, где каждая строка рассматривается как наблюдение, а каждый столбец – как переменная, cov(x) возвращает матрицу ковариации.
-
Далее мы рассмотрим функции геометрического анализа данных. Такой анализ не относится к достаточно распространенным средствам анализа данных, но для специалистов он представляет несомненный интерес. | Пусть есть некоторое число точек. Триангуляция Делоне –
-
В системе MATLAB определена функция вычисления точек выпуклой оболочки: | convhull (х,у) – возвращает индексы тех точек, задаваемых векторами х и у, которые лежат на выпуклой оболочке; | convhull(x,y,TRI) – использует триангуляцию, полученную в результате применения функции триангуляции Делоне del aunay, вместо того чтобы вычислять ее самостоятельно. Пример: | >> xx=-0.8:0.03:0.8;
-
В системе MATLAB определены функции, вычисляющие площадь полигона и анализирующие нахождение точек внутри полигона. Для вычисления площади полигона используется функция polyarea: | polyarea(X.Y) – возвращает площадь полигона, заданного вершинами, находящимися в векторах X и Y.
-
Функция Inpolygon используется для анализа того, попадают ли заданные точки внутрь полигона: | IN=inpolygon(X,Y.xv.yv) – возвращает матрицу IN того же размера, что X и Y. Каждый элемент матрицы IN принимает одно из значений – 1, 0.5 или 0 – в зависимости от того, находится ли точка с координатами (X(p,q),Y(p,q)) внутри полигона, вершины которого определяются векторами xv и yv:
-
Для построения диаграммы Вороного служат следующие команды: | voronoi(x.y) – строит диаграмму Вороного для точек с координатами (х,у). Функция voronoi(х,у,TRI) использует триангуляцию TRI; | voronoi (…,' LineSpec') – строит диаграмму с заданным цветом и стилем линий;
-
Разработка преобразований Фурье сыграла огромную роль в появлении и развитии ряда новых областей науки и техники. Достаточно отметить, что электротехника переменного тока, электрическая связь и радиосвязь базируются на спектральном представлении сигналов.
-
Функция Y = fftshift(X) перегруппировывает выходные массивы функций fft и fft2, размещая нулевую частоту в центре спектра, что иногда более удобно. Если X – вектор, то Y – вектор с циклической перестановкой правой и левой половин исходного вектора.
-
Возможно одномерное обратное преобразование Фурье, реализуемое следующими функциями: | ifft(F) – возвращает результат дискретного обратного преобразования Фурье вектора F. Если F – матрица, то if ft возвращает обратное преобразование Фурье для каждого столбца этой матрицы;
-
В этом разделе рассмотрены базовые средства для проведения операций свертки и фильтрации сигналов на базе алгоритмов быстрого преобразования Фурье. Многие дополнительные операции, относящиеся к этой области обработки сигналов, можно найти в пакете прикладных программ Signal Processing Toolbox.
-
MATLAB может использоваться для моделирования работы цифровых фильтров. Для обеспечения дискретной одномерной фильтрации используется функция filter в следующих формах записи: | filter(B.A.X) – фильтрует одномерный массив данных X, используя дискретный фильтр, описываемый следующим конечноразностным уравнением: | a(l) * y(n) = b(1) * x(n) + b(2) * x(n - 1) + ...
-
Под аппроксимацией обычно подразумевается описание некоторой, порой не заданной явно, зависимости или совокупности представляющих ее данных с помощью другой, обычно более простой или более единообразной зависимости.
-
Под интерполяцией обычно подразумевают вычисление значений функции f(x) в промежутках между узловыми точками. Линейная, квадратичная и полиномиальная интерполяция реализуются при полиномиальной аппроксимации.
-
Для интерполяции на неравномерной сетке используется функция griddata: | ZI = griddata(x.y.z.XI.YI) – преобразует поверхность вида z = f(x. у), которая определяется векторами (x.y.z) с (обычно) неравномерно распределенными элементами.
-
В ряде случаев очень удобна сплайновая интерполяция и аппроксимация таблично заданных функций. При ней промежуточные точки ищутся по отрезкам полиномов третьей степени – это кубическая сплайновая интерполяция.
-
Двумерная интерполяция существенно сложнее, чем одномерная, рассмотренная выше, хотя смысл ее тот же – найти промежуточные точки некоторой зависимости z(x, у) вблизи расположенных в пространстве узловых точек. Для двумерной табличной интерполяции используется функция interp2:
-
Для трехмерной табличной интерполяции используется функция interp3: | VI = interp3(X.Y.Z.V.XI,YI.ZI) – интерполирует, чтобы найти VI, значение основной трехмерной функции V в точках матриц XI, YI и ZI. Матрицы X, Y и Z определяют точки, в которых задано значение V.
-
Сплайн-интерполяция используется для представления данных отрезками полиномов невысокой степени – чаще всего третьей. При этом кубическая интерполяция обеспечивает непрерывность первой и второй производных результата интерполяции в узловых точках.
-
Решение большинства задач интерполяции и аппроксимации функций и табличных данных обычно сопровождается их визуализацией. Она, как правило, заключается в построении узловых точек функции (или табличных данных) и в построении функции аппроксимации или интерполяции.
-
Средства обработки данных из графического окна позволяют строить столбцовый или линейчатый график погрешностей в узловых точках и наносить на эти графики норму погрешности. Норма дает статистическую оценку среднеквадратической погрешности. Чем она меньше, тем точнее аппроксимация.
-
MATLAB 6.0 дает возможность в графическом окне использовать еще один вид многоинтервальной интерполяции на основе полиномов третьей степени Эрмита. Техника интерполяции здесь таже, что и в случае сплайновой интерполяции, (рис. 17.16). | Полиномы Эрмита имеют более гибкие линии, чем сплайны.