Two-mensional matrix
-
class CMatrix2D
This class describes a two-dimensional matrix in dense format.
Public Functions
-
CMatrix2D()
Basic constructor.
Creates empty matrix with zero in all rows and columns.
-
CMatrix2D(size_t _rows, size_t _cols)
Creates a matrix with the specified dimensions and sets all cells to zero.
- Parameters
_rows – Number of rows.
_cols – Number of columns.
-
void Resize(size_t _rows, size_t _cols)
Sets new dimensions of the matrix.
- Parameters
_rows – Number of rows.
_cols – Number of columns.
-
void Assign(size_t _rows, size_t _cols, double _val)
Sets new dimensions of the matrix and fills it with the specified value.
- Parameters
_rows – Number of rows.
_cols – Number of columns.
_val – Target value.
-
size_t Rows() const
Returns the current number of rows.
- Returns
Number of rows.
-
size_t Cols() const
Returns the current number of columns.
- Returns
Number of columns.
-
d_vect_t &operator[](size_t _row)
Returns reference to the vector of values of the specified row.
- Parameters
_row – Index of row.
- Returns
Reference to the vector of values.
-
const d_vect_t &operator[](size_t _row) const
Returns const reference to the vector of values of the specified row.
- Parameters
_row – Index of row.
- Returns
Target reference to the vector of values.
-
d_vect_t GetRow(size_t _row) const
Returns the vector of values for the specified row.
If there is no such row, returns an empty vector.
- Parameters
_row – Index of row.
- Returns
Vector of values.
-
d_vect_t GetCol(size_t _col) const
Returns the vector of values for the specified column.
If there is no such column, returns an empty vector.
- Parameters
_col – Index of column.
- Returns
Vector of values.
-
d_matr_t GetMatrix() const
Returns all values in the vector-of-vectors form.
- Returns
All values in the vector-of-vectors form.
-
void SetRow(size_t _row, const d_vect_t &_vector)
Sets data to the existing row.
If dimensions do not match, does nothing.
- Parameters
_row – Index of row.
_vector – Vector of values.
-
void SetCol(size_t _col, const d_vect_t &_vector)
Sets data to the existing column.
If dimensions do not match, does nothing.
- Parameters
_col – Index of column.
_vector – Vector of values.
-
void SetMatrix(const d_matr_t &_matrix)
Sets all values to the matrix in the vector-of-vectors form.
If dimensions do not match, does nothing.
- Parameters
_matrix – All values in the vector-of-vectors form.
-
void Fill(double _val)
Fills the matrix with the specified value.
- Parameters
_val – Target value.
-
void Clear()
Removes all data and information about dimensions from the matrix.
-
d_vect_t ToVector() const
Returns a vector with all values joining all rows one after another.
- Returns
Vector of all data.
-
void Normalize()
Normalizes values of the matrix.
-
CMatrix2D &operator+=(double _val)
Adds a value to all elements of the matrix.
- Parameters
_val – Value.
- Returns
Reference to this matrix.
-
CMatrix2D operator+(double _val) const
Adds a value to all elements of the matrix.
- Parameters
_val – Value.
- Returns
Copy of this matrix.
-
CMatrix2D &operator-=(double _val)
Subtracts a value from all elements of the matrix.
- Parameters
_val – Value.
- Returns
Reference to this matrix.
-
CMatrix2D operator-(double _val) const
Subtracts a value from all elements of the matrix.
- Parameters
_val – Value.
- Returns
Copy of this matrix.
-
CMatrix2D &operator*=(double _val)
Multiplies a value with all elements of the matrix.
- Parameters
_val – Value.
- Returns
Reference to this matrix.
-
CMatrix2D operator*(double _val) const
Multiplies a value with all elements of the matrix.
- Parameters
_val – Value.
- Returns
Copy of this matrix.
-
CMatrix2D &operator/=(double _val)
Divides all elements of the matrix by a value .
- Parameters
_val – Value.
- Returns
Reference to this matrix.
-
CMatrix2D operator/(double _val) const
Divides all elements of the matrix by a value .
- Parameters
_val – Value.
- Returns
Copy of this matrix.
-
CMatrix2D &operator+=(const CMatrix2D &_matrix)
Adds two matrices element-wise.
If dimensions of the matrices do not match, std::runtime_error exception is thrown.
- Parameters
_matrix – Other matrix.
- Returns
Reference to this matrix.
-
CMatrix2D operator+(const CMatrix2D &_matrix) const
Adds two matrices element-wise.
If dimensions of the matrices do not match, std::runtime_error exception is thrown.
- Parameters
_matrix – Other matrix.
- Returns
Copy of this matrix.
-
CMatrix2D &operator-=(const CMatrix2D &_matrix)
Subtracts two matrices element-wise.
If dimensions of the matrices do not match, std::runtime_error exception is thrown.
- Parameters
_matrix – Other matrix.
- Returns
Reference to this matrix.
-
CMatrix2D()