Система математических расчетов MATLAB

Методическое пособие - Компьютеры, программирование

Другие методички по предмету Компьютеры, программирование

?ицы размера 24х3.

 

 

Основные функции обработки данных

 

Перечень функций обработки данных, расположенных в директории MATLAB-а datafun приведен в Приложении 8 .

Рассмотрим гипотетический числовой пример, который основан на ежечасном подсчете чис-ла машин, проходящих через три различные пункта в течении 24 часов. Допустим, результа-ты наблюдений дают следующую матрицу count

 

count =

11 11 9

7 13 11

14 17 20

11 13 9

43 51 69

38 46 76

61 132 186

75 135 180

38 88 115

28 36 55

12 12 14

18 27 30

18 19 29

17 15 18

19 36 48

32 47 10

42 65 92

57 66 151

44 55 90

114 145 257

35 58 68

11 12 15

13 9 15

10 9 7

 

Таким образом, мы имеем 24 наблюдения трех переменных. Создадим вектор времени, t, со-стоящий из целых чисел от 1 до 24: t = 1 : 24. Построим теперь зависимости столбцов матри-цы counts от времени и надпишем график:

 

plot(t, count)

legend(Location 1,Location 2,Location 3,0)

xlabel(Time)

ylabel(Vehicle Count)

grid on

 

где функция plot(t, count) строит зависимости трех векторов-столбцов от времени; функция

legend(Location 1,Location 2,Location 3,0) показывает тип кривых; функции xlabel и ylabel надписывают координатные оси, а grid on выводит координатную сетку. Соответству-ющий график показан ниже.

 

Применим к матрице count функции max (максимальное значение), mean (среднее значение) и std (стандартное, или среднеквадратическое отклонение).

 

mx = max(count)

mu = mean(count)

sigma = std(count)

 

В результате получим

mx =

114 145 257

mu =

32.00 46.5417 65.5833

sigma =

25.3703 41.4057 68.0281

 

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

 

[mx,indx] = min(count)

mx =

7 9 7

indx =

2 23 24

показывает, что наименьшее число машин за час было зарегестрировано в 2 часа для первого пункта наблюдения (первый столбец) и в 23 и 24 чч. для остальных пунктов наблюдения.

Вы можете вычесть среднее значение из каждого столбца данных, используя внешнее произ-ведение вектора, составленного из единиц и вектора mu (вектора средних значений)

 

e = ones(24, 1)

x = count - e*mu

 

Перегруппировка данных может помочь вам в оценке всего набора данных. Так, использование в системе MATLAB в качестве единственного индекса матрицы двоеточия, приводит к представлению этой матрицы как одного длинного вектора, составленного из ее столбцов. Поэтому, для нахождения минимального значения всего множества данных можно ввести

 

min(count(:))

 

что приводит к результату

ans =

7

Запись count(:) в данном случае привела к перегруппировке матрицы размера 24х3 в вектор-столбец размера 72х1.

 

 

Матрица ковариаций и коэффициенты корреляции

 

Для статистической обработки в MATLAB-е имеются две основные функции для вычисле-ния ковариации и коэффициентов корреляции:

  • cov В случае вектора данных эта функция выдает дисперсию, то есть меру распреде-

ления (отклонения) наблюдаемой переменной от ее среднего значения. В случае

матриц это также мера линейной зависимости между отдельными переменными,

определяемая недиагональными элементами.

  • corrcoef Коэффициенты корреляции нормализованная мера линейной вероятност-ной зависимости между перменными.

Применим функцию cov к первому столбцу матрицы count

 

cov(count(:,1))

 

Результатом будет дисперсия числа машин на первом пункте наблюдения

ans =

643.6522

 

Для массива данных, функция cov вычисляет матрицу ковариаций. Дисперсии столбцов мас-сива данных при этом расположены на главной диагонали матрицы ковариаций. Остальные элементы матрицы характеризуют ковариацию между столбцами исходного массива. Для матрицы размера mхn, матрица ковариаций имеет размер n-by-n и является симметричной, то есть совпадает с транспонированной.

Функция corrcoef вычисляет матрицу коэффициентов корреляции для массива данных, где каждая строка есть наблюдение, а каждый столбец переменная. Коэффициент корреляции это нормализованная мера линейной зависимости между двумя переменными. Для некор-релированных (линейно-независимых) данных коэффициент корреляции равен нулю; экива-лентные данные имеют единичный коэффициент корреляции. Для матрицы mхn, соответст-вующая матрица коэффициентов корреляции имеет размер nхn. Расположение элементов в матрице коэффициентов корреляци?/p>