矩阵转置在C中

时间:2017-05-24 06:09:06

标签: c matrix transpose matrix-transform

假设我定义了一个矩阵并按以下方式赋值:

 double A[row * column];

 for (int j = 0; j < column; j++){
     for (int i = 0; i < row; i++){
       A[j*row + i] = ((double)rand())/RAND_MAX; // random value
     }
   }

如何计算此矩阵的转置?我尝试了以下但是生成的矩阵不正确。

double B[column * row]; 

for(int j = 0; j < row; j++){
     for(int i = 0; i < column; i++){
       B[j*row + i] = A[i*row + j];
     }
   }

1 个答案:

答案 0 :(得分:4)

索引应按以下方式完成。

ByteBuf