- HasNan
- Transpose
- TransposeConjugate
- TriL
- TriU
- Diag
- Row
- Col
- Copy
- Compare
- CompareByDigits
- CompareEqual
- Flat
- Clip
- Reshape
- Resize
- Set
- SwapRows
- SwapCols
- Split
- Hsplit
- Vsplit
- ArgSort
- Sort
Compare
Сравнивает элементы двух матриц/векторов с указанной точностью.
ulong vector::Compare(
|
Параметры
vec
[in] Вектор для сравнения.
mat
[in] Матрица для сравнения.
epsilon
[in] Точность.
Возвращаемое значение
Возвращает количество несовпавших элементов у сравниваемых матриц или векторов, то есть 0, если матрицы равны, больше 0, в противном случае.
Примечание
Операции сравнения == или != производят точное поэлементное сравнение. Как известно, точное сравнение вещественных чисел имеет ограниченное применение, поэтому был добавлен метод сравнения с эпсилоном. Бывают случаи, когда в пределах одной матрицы существуют элементы в диапазоне, например, от 1e-20 до 1e+20. Для этого предусмотрено поэлементное сравнение с учётом значащих цифр.
Для комплексных матриц/векторов сравнение заключается в оценке расстояния между комплексными числами. Расстояние рассчитывается по следующей формуле sqrt(pow(r1-r2, 2) + pow(i1-i2, 2) и является действительным числом, которое уже можно сравнивать с эпсилоном.
Пример:
matrix matrix_a={{10,3,2},{1,8,12},{6,5,4}};
|