转置NxN矩阵

Bil*_*lie 2 java math matrix

我有一个NxN矩阵,它试图通过这段代码转置它:

    for(int i = 0; i < mat_size; ++i) {
        for(int j = 0; j < mat_size; ++j) {
            double tmpJI = get(j, i);
            put(j, i, get(i, j));
            put(i, j, tmpJI);
        }
    }
Run Code Online (Sandbox Code Playgroud)

它不起作用,有什么问题?提前致谢.

Bat*_*eba 10

它不起作用,因为你自己交换整个矩阵.你需要做的是将上三角形与下三角形交换:

for(int j = 0; j < i; ++j) {
Run Code Online (Sandbox Code Playgroud)

是一种方式.