实现一个矩阵类,包含以下功能:
基本成员
rows_行,cols_列,double** mat,矩阵元素
get_rows()返回行数;get_cols()返回列数
矩阵类的构造函数
默认构造函数,生成一个1,1列的矩阵
Matrix mat;
生成行列分别为rows, cols的矩阵
Matrix mat(rows, cols);
生成行列分别为rows, cols,初始值为init_value的矩阵
Matrix mat(rows, cols, init_value);
利用初始化列表生成矩阵
Matrix mat = {
{1,2,3,4}, {5,6,7,8}};
析构函数
拷贝构造函数与赋值运算符函数(实现深拷贝)
实现基本运算符重载函数,其中A表示矩阵,k表示标量(一个实数)。如表1所示。
静态函数生成基本矩阵
零矩阵 Matrix::zeros(rows, cols);
单位矩阵 Matrix::eye(size);
均匀分布随机矩阵 Matrix::randu(rows, cols);
高斯分布随机矩阵 Matrix::randn(rows, cols);
表 1 矩阵类基本运算符
操作符 说明
A + k ¬¬¬矩阵对应元素加上标量A_ij+k
k + A 标量加上矩阵对应元素k〖+A〗ij
A - k 矩阵对应元素减去标量A_ij-k
A ∗ k 矩阵对应元素乘以标量k〖A〗_ij
k ∗ A 标量乘以矩阵对应元素A_ijk
A + B 矩阵对应元素