假设ejml中有1xM (A)和N ( B ) SimpleMatrix对象,是否有一种从B中减去A的简单方法?我正在寻找一种方法来重复A行的大小为B,但没有找到很容易做到这一点的方法。
SimpleMatrix A = new SimpleMatrix(1, 2);
SimpleMatrix B = new SimpleMatrix(2, 2);
A.set(1.0);
B.setRow(0, 0, 2.0, 2.0);
B.setRow(1, 0, 4.0, 4.0);
// Throws java.lang.IllegalArgumentException
// The 'a' and 'b' matrices do not have compatible dimensions
SimpleMatrix C = B.minus(A);
// Expecting
// 1 1
// 3 3发布于 2018-01-17 00:42:09
根据文档
将A和B连接到它们的列上,然后在它们的行上将结果与C连接起来。A,B;C
因此,您可以定义一个方程,它将用类似的重复行构造一个矩阵(我不知道N矩阵的B值):
A.equation("A = [A,A,A]")或
A.equation("A = [A,A,A]", "A")另一种选择是使用SimpleBase.concatColumns(SimpleBase...),如下所示:
A = A.concatColumns(A,A)假设A是1xM,它将生成3xM矩阵并将其存储在A中。如果您希望动态地构造这样的数组,您只需将"A“、”N“连接起来(当然不拖昏迷)或传递N - 1乘积矩阵A来运行。
更新
对不起,我错误地认为A是行向量,因为它是列向量,使用逗号代替分号,如docs中所描述的那样。
https://stackoverflow.com/questions/48291981
复制相似问题