有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用库中的函数转换数组?

如何使用库中的函数转置数组?我从这里下载并使用了库里的柯尔特: 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

有什么想法吗


共 (1) 个答案

  1. # 1 楼答案

    1D矩阵不包含任何关于它们如何定向的信息。所以你需要提供这些信息来转换它。例如,如果使用行向量,则有一个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));
    }