转置矩阵也相对简单,即:将原矩阵的行变为列,列变为行:
来看一下代码的实现:
//转置矩阵 int matrix_transposition(s_Matrix *result, s_Matrix *src) { if (result == null) { return -1; } if (result->v == null) { return -1; } if (src == null) { return -1; } if (src->v == null) { return -1; } if (src->m <= 0 || src->n <= 0) { return -1; } //行数等于原列数 result->m = src->n; //列数等于原行数 result->n = src->m; //循环所有元素 for (int i = 0; i < src->m; i++) { for (int j = 0; j < src->n; j++) { //列号变列号,列号变行号 result->v[j * result->n + i] = src->v[i * src->n + j]; } } return 0; }
本教程所使用的源代码完全开放、免费。你可以自由的使用和修改本教程中的所有源代码:
git@github.com:magicworldos/matrix.git https://github.com/magicworldos/matrix.git
Copyright © 2015-2023 问渠网 辽ICP备15013245号