Variance (дисперсия)
V = var(X) returns the variance of X for vectors. For matrices, var(X)is a row vector containing the variance of each column of X. For N-dimensional arrays, var operates along the first nonsingleton dimension of X. The result V is an unbiased estimator of the variance of the population from which X is drawn, as long as X consists of independent, identically distributed samples.
var normalizes V by N-1 if N>1, where N is the sample size. This is an unbiased estimator of the variance of the population from which X is drawn, as long as X consists of independent, identically distributed samples. For N=1, V is normalized by N.
V = var(X,1) normalizes by N and produces the second moment of the sample about its mean.var(X,0) is equivalent to var(X).
V = var(X,w) computes the variance using the weight vector w. The length of w must equal the length of the dimension over which var operates, and its elements must be nonnegative. The elements of w must be positive. var normalizes w to sum of 1.
Логический поиск нужного элемента. Функция find.
find
Find indices and values of nonzero elements
ind = find(X) locates all nonzero elements of array X, and returns the linear indices of those elements in vector ind. If X is a row vector, then ind is a row vector; otherwise, ind is a column vector. If X contains no nonzero elements or is an empty array, then ind is an empty array.
ind = find(X, k) or ind = find(X, k, 'first') returns at most the first k indices corresponding to the nonzero entries of X. k must be a positive integer, but it can be of any numeric data type.
ind = find(X, k, 'last') returns at most the last k indices corresponding to the nonzero entries of X.
[row,col] = find(X, ...) returns the row and column indices of the nonzero entries in the matrix X. This syntax is especially useful when working with sparse matrices. If X is an N-dimensional array with N > 2, col contains linear indices for the columns. For example, for a 5-by-7-by-3 array X with a nonzero element at X(4,2,3), find returns 4 in row and 16 in col. That is, (7 columns in page 1) + (7 columns in page 2) + (2 columns in page 3) = 16.
[row,col,v] = find(X, ...) returns a column or row vector v of the nonzero entries in X, as well as row and column indices. If X is a logical expression, then v is a logical array. Output v contains the non-zero elements of the logical array obtained by evaluating the expression X. For example,
A= magic(4)
A =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
[r,c,v]= find(A>10);
r', c', v'
ans =
1 2 4 4 1 3
ans =
1 2 2 3 4 4
ans =
1 1 1 1 1 1
Here the returned vector v is a logical array that contains the nonzero elements of N where
N=(A>10)
Example 1
X = [1 0 4 -3 0 0 0 8 6];
indices = find(X)
returns linear indices for the nonzero entries of X.
indices =
1 3 4 8 9
Example 2
You can use a logical expression to define X. For example,
find(X > 2)
returns linear indices corresponding to the entries of X that are greater than 2.
ans = 3 8 9
Example 3
X = [3 2 0; -5 0 7; 0 0 1];
[r,c,v] = find(X)
returns a vector of row indices of the nonzero entries of X
r =
1
2
1
2
3
a vector of column indices of the nonzero entries of X
c =
1
1
2
3
3
and a vector containing the nonzero entries of X.
v =
3
-5
2
7
1
Example 4
The expression
[r,c,v] = find(X>2)
returns a vector of row indices of the nonzero entries of X
r =
1
2
a vector of column indices of the nonzero entries of X
c =
1
3
and a logical array that contains the non zero elements of N where N=(X>2).
v =
1
1
Recall that when you use find on a logical expression, the output vector v does not contain the nonzero entries of the input array. Instead, it contains the nonzero values returned after evaluating the logical expression.
Example 5
x = [11 0 33 0 55]';
find(x)
ans =
1
3
5
find(x == 0)
ans =
2
4
find(0 < x & x < 10*pi)
ans =
1
Example 6
M =
8 1 6
3 5 7
4 9 2
find(M > 3, 4)
returns the indices of the first four entries of M that are greater than 3.
ans =
1
3
5
6
Example 7
If X is a vector of all zeros, find(X) returns an empty matrix. For example,
indices = find([0;0;0])
indices = Empty matrix: 0-by-1
all
Determine whether all array elements are nonzero
B = all(A) tests whether all the elements along various dimensions of an array are nonzero or logical 1 (true).
If A is a vector, all(A) returns logical 1 (true) if all the elements are nonzero and returns logical 0 (false) if one or more elements are zero.
If A is a matrix, all(A) treats the columns of A as vectors, returning a row vector of logical 1's and 0's.
If A is a multidimensional array, all(A) treats the values along the first nonsingleton dimension as vectors, returning a logical condition for each vector.
B = all(A, dim) tests along the dimension of A specified by scalar dim.
,
all(A,1) = (1 1 0), all(A,2) =
/
any
Determine whether any array elements are nonzero
B = any(A) tests whether any of the elements along various dimensions of an array is a nonzero number or is logical 1 (true). any ignores entries that are NaN (Not a Number).
If A is a vector, any(A) returns logical 1 (true) if any of the elements of A is a nonzero number or is logical 1 (true), and returns logical 0 (false) if all the elements are zero.
If A is a matrix, any(A) treats the columns of A as vectors, returning a row vector of logical 1's and 0's.
If A is a multidimensional array, any(A) treats the values along the first nonsingleton dimension as vectors, returning a logical condition for each vector.
B = any(A,dim) tests along the dimension of A specified by scalar dim.
Example 1 – Reducing a Logical Vector to a Scalar Condition
Given A = [0.53 0.67 0.01 0.38 0.07 0.42 0.69]
then B = (A < 0.5) returns logical 1 (true) only where A is less than one half:
0 0 1 1 1 1 0
The any function reduces such a vector of logical conditions to a single condition. In this case, any(B) yields logical 1. This makes any particularly useful in if statements:
if any(A < 0.5)do something
end
where code is executed depending on a single condition, not a vector of possibly conflicting conditions.
Example 2– Reducing a Logical Matrix to a Scalar Condition
Applying the any function twice to a matrix, as in any(any(A)), always reduces it to a scalar condition.
any(any(eye(3)))
ans = 1
Example 3 – Testing Arrays of Any Dimension
You can use the following type of statement on an array of any dimensions. This example tests a 3-D array to see if any of its elements are greater than 3:
x = rand(3,7,5) * 5;
any(x(:) > 3)
ans =
1
or less than zero:
any(x(:) < 0)
ans = 0
