建设企业网站管理的重要性,电源网站模版,oa系统办公平台,开源网站建设工具本文通过vector#xff08;#xff09;函数表示矩阵的形式#xff0c;对 加、减、点乘、点除等运算进行编码和运行#xff0c;相应结果如下文所述。
#include iostream
#include vectorusing namespace std;// 矩阵加法
vectorvectorint …本文通过vector函数表示矩阵的形式对 加、减、点乘、点除等运算进行编码和运行相应结果如下文所述。
#include iostream
#include vectorusing namespace std;// 矩阵加法
vectorvectorint add(vectorvectorint A, vectorvectorint B) {vectorvectorint result(A.size(), vectorint(B[0].size()));for (int i 0; i A.size(); i) {for (int j 0; j B[0].size(); j) {result[i][j] A[i][j] B[i][j];}}return result;
}// 矩阵减法
vectorvectorint subtract(vectorvectorint A, vectorvectorint B) {vectorvectorint result(A.size(), vectorint(B[0].size()));for (int i 0; i A.size(); i) {for (int j 0; j B[0].size(); j) {result[i][j] A[i][j] - B[i][j];}}return result;
}// 矩阵点乘
vectorvectorint dot_product(vectorvectorint A, vectorvectorint B) {vectorvectorint result(A.size(), vectorint(B[0].size()));for (int i 0; i A.size(); i) {for (int j 0; j B[0].size(); j) {result[i][j] 0;for (int k 0; k A[0].size(); k) {result[i][j] A[i][k] * B[k][j];}}}return result;
}本文通过vector表示矩阵的内容进行加、减、点乘、点除四种运算示例包含代码和运行结果可直接运行。// 矩阵点除
vectorvectorint divide(vectorvectorint A, vectorvectorint B) {vectorvectorint result(A.size(), vectorint(B[0].size()));for (int i 0; i A.size(); i) {for (int j 0; j B[0].size(); j) {result[i][j] A[i][j] / B[i][j];}}return result;
}void printMatrix(const vectorvectorint matrix) {for (const auto row : matrix) {for (const auto element : row) {cout element ; // 可以按你的需求更改分隔符例如使用逗号或制表符等。这里使用空格作为分隔符。}cout \n; // 每行结束后换行。你可以更改或删除此行根据你的需求。}
}
int main() {// 测试矩阵加法vectorvectorint A { {1, 2}, {3, 4} };vectorvectorint B { {5, 6}, {7, 8} };vectorvectorint C add(A, B);cout加法运算 endl;printMatrix(C);// 测试矩阵减法cout 减法运算 endl;vectorvectorint D subtract(A, B);printMatrix(D);// 测试矩阵点乘cout 点乘运算 endl;vectorvectorint E dot_product(A, B);printMatrix(E);cout 点除运算 endl;// 测试矩阵点除vectorvectorint F divide(A, B);printMatrix(F);return 0;
}上述代码主要定义了四个操作矩阵的函数加法、减法、点乘和点除以及一个打印矩阵的函数。
**add 函数**这个函数实现了两个矩阵的加法操作。它首先创建一个新的矩阵大小与输入的两个矩阵相同然后逐个元素地加上两个输入矩阵的对应元素。 **subtract 函数**这个函数实现了两个矩阵的减法操作。它首先创建一个新的矩阵大小与输入的两个矩阵相同然后逐个元素地减去两个输入矩阵的对应元素。 **dot_product 函数**这个函数实现了两个矩阵的点乘操作。它首先创建一个新的矩阵大小与输入的两个矩阵相同然后逐个元素地计算两个输入矩阵的对应元素的乘积并把乘积相加。 **divide 函数**这个函数实现了两个矩阵的点除操作。注意这段代码并未处理除数为0的情况。在实际应用中你需要添加额外的处理逻辑来应对除数为0的情况。 **printMatrix 函数**这个函数用于打印一个矩阵。它通过嵌套循环来遍历矩阵的每一个元素并打印出来。每个元素之后都有一个空格每行结束之后会换行。 **在 main 函数中**这段代码用两组示例矩阵测试了上述四个函数并使用 printMatrix 函数打印了结果。
**注意**由于这段代码并未处理除数为0的情况所以在实际使用 divide 函数时需要添加额外的逻辑来处理除数为0的情况否则可能会导致运行时错误。
输出结果如下图所示