假设结果矩阵的行应该是原始矩阵行的副本:
import java.util.Arrays;
public class MatrixConcat
{
public static void main(String[] args)
{
double[][] m1 = {{1,1,1}, {1,1,1}};
double[][] m2 = {{2,2,2}, {2,2,2}, {2,2,2}};
double[][] m3 = combine(m1, m2);
System.out.println("m1");
print(m1);
System.out.println("m2");
print(m2);
System.out.println("m3");
print(m3);
}
private static void print(double m[][])
{
for (int i=0; i<m.length; i++)
{
System.out.println(Arrays.toString(m[i]));
}
}
private static double[][] combine(double m0[][], double m1[][])
{
double result[][] = new double[m0.length+m1.length][];
for (int i=0; i<m0.length; i++)
{
result[i] = m0[i].clone();
}
for (int i=0; i<m1.length; i++)
{
result[m0.length+i] = m1[i].clone();
}
return result;
}
}
编辑:假设您只有矩阵,而不是double[][]
创建它们的数组,并且您想要一个新的矩阵,那么您可以添加另一种方法
private static Matrix concat(Matrix m0, Matrix m1)
{
return new Matrix(combine(m0.getArray(), m1.getArray()));
}