首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ejml中从N矩阵减去1xM矩阵

在ejml中从N矩阵减去1xM矩阵
EN

Stack Overflow用户
提问于 2018-01-17 00:34:34
回答 1查看 331关注 0票数 2

假设ejml中有1xM (A)和N ( B ) SimpleMatrix对象,是否有一种从B中减去A的简单方法?我正在寻找一种方法来重复A行的大小为B,但没有找到很容易做到这一点的方法。

代码语言:javascript
复制
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

很多答案使用matlab (这里这里),但是我找不到一个简单的ejml语法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-17 00:42:09

根据文档

将A和B连接到它们的列上,然后在它们的行上将结果与C连接起来。A,B;C

因此,您可以定义一个方程,它将用类似的重复行构造一个矩阵(我不知道N矩阵的B值):

代码语言:javascript
复制
A.equation("A = [A,A,A]")

代码语言:javascript
复制
A.equation("A = [A,A,A]", "A")

另一种选择是使用SimpleBase.concatColumns(SimpleBase...),如下所示:

代码语言:javascript
复制
A = A.concatColumns(A,A)

假设A是1xM,它将生成3xM矩阵并将其存储在A中。如果您希望动态地构造这样的数组,您只需将"A“、”N“连接起来(当然不拖昏迷)或传递N - 1乘积矩阵A来运行。

更新

对不起,我错误地认为A是行向量,因为它是列向量,使用逗号代替分号,如docs中所描述的那样。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48291981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档