gpt4 book ai didi

java - JAMA setMatrix 文档需要在给定矩阵中设置子矩阵

转载 作者:行者123 更新时间:2023-11-30 06:14:33 25 4
gpt4 key购买 nike

谁能告诉我 JAMA MATRIX 包 setMatrix 的工作原理吗?请不要建议我查看文档。我多次搜索文档,但没有得到任何其工作原理的示例。我有代码想要使用 JAMA MATRIX 包设置具有所需位置的子矩阵。

Matrix A= new Matrix(new double[][]{{2.0,3.0,5.0},{1.0,0.0,3.0},{0.0,1.0,1.0}});
A.print(9,6);
Matrix A1= new Matrix(new double[][]{{1.0,2.0,2.0}});
int []A2=new int[]{2};
int []A3=new int[]{2};
A.setMatrix(A2, A3, A1);
A.print(9,6);

我想在第二行第二列添加A1。但添加失败。两个输出是相同的。它们之间没有区别。

最佳答案

这是您的问题的示例。

代码:

public class M1test {
public static void main(String args[]){
Matrix A= new Matrix(new double[][]{{2.0,3.0,5.0},{1.0,0.0,3.0},{0.0,1.0,1.0}});
A.print(9,6);
Matrix A1= new Matrix(new double[][]{{1.0,2.0,2.0}});
A.setMatrix(2,2,0,2,A1);
A.print(9,6);
}

}

说明

SetMatrix实际上是用来设置子矩阵的。所以在这里我想用 A1 替换矩阵 A 的最后一行。所以A1是一个子矩阵,它将在A中设置。

现在根据文档

public void setMatrix(int i0,
int i1,
int j0,
int j1,
Matrix X)
Set a submatrix.
Parameters:
i0 - Initial row index
i1 - Final row index
j0 - Initial column index
j1 - Final column index
X - A(i0:i1,j0:j1)

在我的代码中,我想替换最后一行。由于 A 是 3*3 矩阵,因此最后一行索引为 2。因此初始行索引为 2。子矩阵 A1 中仅存在一行。所以最终行索引也是 2。初始列索引是 0,最终列索引是 2。所以我只是按照指示更改了代码。希望你能理解。欲了解更多信息,请点击链接JAMA Matrix

输出:

2.000000   3.000000   5.000000
1.000000 0.000000 3.000000
0.000000 1.000000 1.000000


2.000000 3.000000 5.000000
1.000000 0.000000 3.000000
1.000000 2.000000 2.000000

关于java - JAMA setMatrix 文档需要在给定矩阵中设置子矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49517360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com