所谓矩阵转置,就是将矩阵中每个元素的行标和列标互换,转置后的新矩阵称为转置矩阵。举个简单的例子:
图 1 矩阵转置示意图
实现矩阵转置,C 语言经常使用二维数组,代码如下:
#include<stdio.h>
#define ROW 3
#define COL 2
int main() {
//原矩阵
int num[ROW][COL] = { {0,1},{0,3},{6,5} };
//存储转置矩阵
int transNum[COL][ROW] = { 0 };
int i, j;
//矩阵转置
for (i = 0; i < ROW; i++) {
for (j = 0; j < COL; j++) {
transNum[j][i] = num[i][j];
}
}
//输出转置后的矩阵
for (i = 0; i < COL; i++) {
for (j = 0; j < ROW; j++) {
printf("%d ", transNum[i][j]);
}
putchar('\n');
}
return 0;
}
运行结果为:
0 0 6