如何使用库中的函数转置数组?我从这里下载并使用了库尔特图书馆:
http://acs.lbl.gov/software/colt/api/index.html。我试过了 :

DoubleMatrix1D array;
array = new DenseDoubleMatrix1D(4);
for (int i=0; i<4; i++)
    array.set(i,i);
DoubleMatrix1D transpose = array.viewDice();


但它不起作用,因为出现错误:

The method viewDice() is undefined for the type DoubleMatrix1D


有任何想法吗?

最佳答案

一维矩阵不包含有关其方向的任何信息。因此,您需要提供此信息才能进行转置。例如,如果使用行向量,则具有1xm矩阵,因此需要mx1列向量来包含转置。

尝试这个:

DoubleMatrix2D transpose = new DenseDoubleMatrix2D(4,1);
for (int i=0; i<4; i++) {
    transpose.setQuick(i,0,array.getQuick(i));
}


相反,如果您具有列向量,则转置将是行向量:

DoubleMatrix2D transpose = new DenseDoubleMatrix2D(1,4);
for (int i=0; i<4; i++) {
    transpose.setQuick(0,i,array.getQuick(i));
}

09-30 17:20
查看更多