首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何打印JAMA矩阵的列?

如何打印JAMA矩阵的列?
EN

Stack Overflow用户
提问于 2009-03-11 11:49:50
回答 3查看 5.7K关注 0票数 3

我使用JAMA.matrix package..how打印矩阵的列吗

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-03-11 12:01:21

您可以在矩阵上调用getArray()方法来获得表示元素的双精度值。

然后,您可以遍历该数组,以显示所需的任何列/行/元素。

有关更多方法,请参阅API

票数 0
EN

Stack Overflow用户

发布于 2009-03-11 12:03:27

最简单的方法可能是transpose矩阵,然后打印每一行。取自API的部分示例

代码语言:javascript
复制
double[][] vals = {{1.,2.,3},{4.,5.,6.},{7.,8.,10.}};
Matrix a = new Matrix(vals);
Matrix aTransposed = a.transpose();
double[][] valsTransposed = aTransposed.getArray();

// now loop through the rows of valsTransposed to print
for(int i = 0; i < valsTransposed.length; i++) {
    for(int j = 0; j < valsTransposed[i].length; j++) {        
        System.out.print( " " + valsTransposed[i][j] );
    }
}

正如duffymo在评论中指出的那样,绕过转置并只编写嵌套的for循环来打印列而不是跨行会更有效。如果您需要以两种方式打印,这将导致两倍的代码。这是一个很常见的权衡(速度与代码大小),我把它留给你来决定。

票数 1
EN

Stack Overflow用户

发布于 2009-05-22 23:09:47

代码语言:javascript
复制
public static String strung(Matrix m) {
    StringBuffer sb = new StringBuffer();
    for (int r = 0; r < m.getRowDimension(); ++ r) {
        for (int c = 0; c < m.getColumnDimension(); ++c)
            sb.append(m.get(r, c)).append("\t");
        sb.append("\n");
    }
    return sb.toString();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/634200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档