Java 二维数组的初始化和使用
我正在编写一个java程序,该程序使用大量矩阵计算,在某些计算过程中,我在进一步计算之前使用多个临时“存储”矩阵 我已经在类变量中声明了临时矩阵Java 二维数组的初始化和使用,java,arrays,matrix,initialization,declaration,Java,Arrays,Matrix,Initialization,Declaration,我正在编写一个java程序,该程序使用大量矩阵计算,在某些计算过程中,我在进一步计算之前使用多个临时“存储”矩阵 我已经在类变量中声明了临时矩阵 private double[][]中间矩阵; 私人双[][]中间矩阵b; 私人双[][]中间矩阵; 私人双[][]中间矩阵xd 但是,我从未以mediateMatrix=new double[][]的形式初始化构造函数或方法中的矩阵。 相反,我对每个临时矩阵intermediateMatrix=[矩阵计算的乘积] 我的问题是:我使用的方法是安全的吗?
private double[][]中间矩阵;
私人双[][]中间矩阵b;
私人双[][]中间矩阵;
私人双[][]中间矩阵xd代码>
但是,我从未以mediateMatrix=new double[][]
的形式初始化构造函数或方法中的矩阵。
相反,我对每个临时矩阵intermediateMatrix=[矩阵计算的乘积]
我的问题是:我使用的方法是安全的吗?记住,临时数组将在其他计算中重用吗?每次我声明一个临时矩阵应等于另一个数组时,它将等于该矩阵的确切维数和值
提前谢谢
当做
Mike是的,上面的变量将指向方法或计算的结果,行和列将被保留,这是“安全的”
private double[][] intermediateMatrixA = new double[3][4];
//etc etc
intermediateMatrixA =new double[5][6];
非常好,只要它始终是一个double[][]
;但是,跟踪行和列的逻辑取决于您
您可以将double[][]
的类型分配给其他类型的double[][]
,但不能将double[]
分配给double[][
如果您打算一次又一次地使用它们,我建议在分配它们之前将它们设置为null,以防万一。我不清楚这是如何工作的-如果您能发布更多代码,我会更确定。但这就是我要告诉你的:你不能白手起家。如果你要乘以矩阵,你需要在某处创建一个新的double[][]来存储新的值。我强烈建议你去谷歌搜索JAMA矩阵包——矩阵数学已经足够难了,因为它不需要编写你自己的库。