我将 MatrixToolkitsJava 用于我的论文的神经网络项目,在其中我需要使权重矩阵更大,然后可能更小。我现在这样做的方式是创建一个新矩阵并在实例化新值的同时复制现有值,这种方式效率极低,占用了绝大多数时间。是否有一种有效的方法可以将行和列添加到现有矩阵?
问问题
154 次
1 回答
0
如前所述,您可以使用列表,但如果您不喜欢使用数组,您可以创建一个方法来创建一个新数组,复制数据,然后替换您正在存储的引用。
System.arrayCopy(Object src, int srcPos, Object dest, int destPos, int length)
如果您不使用巨型阵列,则使用它会足够快。
编辑:我不敢相信我之前没有想到这一点。只需使用矩阵乘法来复制数据。例如,要制作 2 × 2 和 3 × 3,只需执行 [2,2] x [(1,0), (0,1), (0,0)] = [2,3] => [ (1,0,0), (0,1,0)] x [2,3] = [3,3]
于 2016-06-09T03:33:33.740 回答