Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СКМ_Массивы.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
178.69 Кб
Скачать

Setdiff

Find set difference of two vectors

c = setdiff(A, B) returns the values in A that are not in B. In set theory terms, c = A - B. Inputs A and B can be numeric or character vectors or cell arrays of strings. The resulting vector is sorted in ascending order.

c = setdiff(A, B, 'rows'), when A and B are matrices with the same number of columns, returns the rows from A that are not in B.

[c,i] = setdiff(...) also returns an index vector index such that c = a(i) or c = a(i,:).

A = magic(5);

B = magic(4);

[c, i] = setdiff(A(:), B(:));

c' = 17 18 19 20 21 22 23 24 25

i' = 1 10 14 18 19 23 2 6 15

setxor

Find set exclusive OR of two vectors (исключительное «или», без пересечения)

c = setxor(A, B) returns the values that are not in the intersection of A and B. Inputs A and B can be numeric or character vectors or cell arrays of strings. The resulting vector is sorted.

c = setxor(A, B, 'rows'), when A and B are matrices with the same number of columns, returns the rows that are not in the intersection of A and B.

[c, ia, ib] = setxor(...) also returns index vectors ia and ib such that c is a sorted combination of the elements c = a(ia) and c = b(ib) or, for row combinations, c = a(ia,:) and c = b(ib,:).

a = [-1 0 1 Inf -Inf NaN];

b = [-2 pi 0 Inf];

c = setxor(a, b)

c =

-Inf -2.0000 -1.0000 1.0000 3.1416 NaN

2. Обращение к элементам массива

Элемент массива вызываем, указав имя массива и координаты элемента в скобках. Можно вызвать и часть массива.

>> c1(1,4) ans = -1

>> c1(:,4) («все строки 4-го столбца»)

ans =

-1

-4

>> X=['С' 'А' 'Ж' 'Я' 'В']; Ind=[5 2 1 4]; X(Ind)

ans = ВАСЯ

Все подряд: >> A=[1 2 3; 4 5 6];

>> A(:)

ans =

1

4

2

5

3

6

Поиск последнего элемента

>> A=[1 2 3 4; 5 6 7 8];

>> A(end)

ans = 8

Удаление элементов

>> c1(:,4)=[]; %Удаляем все элементы 4-го столбца введенного выше массива с1

c1 =

1 2 3 -2 -3

4 5 6 -5 -6

>> C=[]; Создаем пустой массив

C =

[]

Удалить одинаковые элементы можно функцией  unique(X)

3. Исследование массивов (исследование данных)

Сравнение массивов

>> A=[1 2 3 4; 5 6 7 8]; B=[1.0 2.0 3e0 4; 5 6 7 8];

>> if A==B a='Hurra!'; end

>> a = Hurra!

Определение размеров массивов. Функции length, size

Функции min, max, sort, prod, cumprod, sum, cumsum, mean, median, std

min

C = min(A) returns the smallest elements along different dimensions of an array. If A is a vector, min(A) returns the smallest element in A. If A is a matrix, min(A) treats the columns of A as vectors, returning a row vector containing the minimum element from each column. If A is a multidimensional array, min operates along the first nonsingleton dimension.

C = min(A,B) returns an array the same size as A and B with the smallest elements taken from A or B. The dimensions of A and B must match, or they may be scalar.

C = min(A,[],dim) returns the smallest elements along the dimension of A specified by scalar dim. For example, min(A,[],1) produces the minimum values along the first dimension (the rows) of A.

[C,I] = min(...) finds the indices of the minimum values of A, and returns them in output vector I. If there are several identical minimum values, the index of the first one found is returned.

B=[1 2; 3 4];

>> bb=min(B)

bb= 1 2

>> bbb=min(min(B)) = 1 %«Глобальный» минимум

>> [b1,k]=min(B^-1)

b1 = -2.0000 -0.5000

k = 1 2

mean

Average or mean value of array

M = mean(A) returns the mean values of the elements along different dimensions of an array.

If A is a vector, mean(A) returns the mean value of A. If A is a matrix, mean(A) treats the columns of A as vectors, returning a row vector of mean values. If A is a multidimensional array, mean(A) treats the values along the first non-singleton dimension as vectors, returning an array of mean values.

M = mean(A,dim) returns the mean values for elements along the dimension of A specified by scalar dim. For matrices, mean(A,2) is a column vector containing the mean value of each row.

A = [1 2 3; 3 3 6; 4 6 8; 4 7 7];

mean(A) =

3.0000 4.5000 6.0000

mean(A,2) =

2.0000

4.0000

6.0000

6.0000

Пусть  объективно существующая случайная величина X в результате опытов предстала в виде значений . Вектор  — выборка величины X. Выборочным средним называется случайная величина

.

Выборочная дисперсия — это случайная величина

.

Несмещённая (исправленная) дисперсия — это случайная величина

.

Величина назыв. среднеквадратическим отклонением выборки, величина - среднеквадратическим отклонением при ее несмещенной оценке, или стандартным отклонением.

mode

Most frequent values in array

M = mode(X) for vector X computes the sample mode M, (i.e., the most frequently occurring value in X). If X is a matrix, then M is a row vector containing the mode of each column of that matrix. If X is an N-dimensional array, then M is the mode of the elements along the first nonsingleton dimension of that array.

When there are multiple values occurring equally frequently, mode returns the smallest of those values. For complex inputs, this is taken to be the first value in a sorted list of values.

M = mode(X, dim) computes the mode along the dimension dim of X.

[M,F] = mode(X, ...) also returns array F, each element of which represents the number of occurrences of the corresponding element of M. The M and F output arrays are of equal size.

[M,F,C] = mode(X, ...) also returns cell array C, each element of which is a sorted vector of all values that have the same frequency as the corresponding element of M.

X = [3 3 1 4; 0 0 1 1; 0 1 2 4] =

3 3 1 4

0 0 1 1

0 1 2 4

mode(X) =

0 0 1 4

mode(X, 2) =

3

0

0

Пример из Help’а Построение гистограммы

>> randn('state', 0); % Reset the random number generator Переустановка генератора Марсальи

>> y = randn(1000,1); % Y = randn(m,n) returns an m-by-n matrix of pseudorandom values drawn from a

% normal distribution with mean 0 and standard deviation 1

>> edges = -6:.25:6; % Массив промежутков

>> [n,bin] = histc(y,edges);

>> m = mode(bin)

m = 25

>> edges([m, m+1])

ans = 0 0.2500

>> hist(y,edges+.125)

n = histc(x,edges) counts the number of values in vector x that fall between the elements in the edges vector (which must contain monotonically nondecreasing values). n is a length(edges) vector containing these counts.

median (середина)

Median value of array

M = median(A) returns the median values of the elements along different dimensions of an array. If A is a matrix, median(A) treats the columns of A as vectors, returning a row vector of median values.

M = median(A,dim) returns the median values for elements along the dimension of A specified by scalar dim.

A = [1 2 4 4; 3 4 6 6; 5 6 8 8; 5 6 8 8];

median(A) =

4 5 7 7

median(A,2) =

3

5

7

7

std

Standard deviation

Syntax

s = std(X)

s = std(X,flag)

s = std(X,flag,dim)

Definition

There are two common textbook definitions for the standard deviation s of a data vector X:

(1); (2).

where and is the number of elements in the sample. The two forms of the equation differ only in versus in the divisor.

s = std(X), where X is a vector, returns the standard deviation using (1) above. The result s is the square root of an unbiased estimator of the variance of the population (несмещенная оценка дисперсии совокупности) from which X is drawn, as long as X consists of independent, identically distributed samples (выборок).

If X is a matrix, std(X) returns a row vector containing the standard deviation of the elements of each column of X. If X is a multidimensional array, std(X) is the standard deviation of the elements along the first nonsingleton dimension of X (singleton – одиночка; одноразмерный).

s = std(X,flag) for flag = 0, is the same as std(X). For flag = 1, std(X,1) returns the standard deviation using (2) above, producing the second moment of the set of values about their mean.

s = std(X,flag,dim) computes the standard deviations along the dimension of X specified by scalar dim. Set flag to 0 to normalize Y by n-1; set flag to 1 to normalize by n.

var