【发布时间】:2021-09-04 13:02:50
【问题描述】:
我有一个 arma::umat 矩阵,其中包含对应于 arma::vec 向量的索引,该向量包含 1 或 -1:
arma::umat A = { {8,9,7,10,6}, {5,3,1,2,4}};
arma::vec v = {-1, 1, 1, 1, -1, -1, 1, -1, -1 ,1};
我想用向量中的对应值替换矩阵中的每个元素,所以输出如下:
A = {{-1,-1,1,1,-1},{-1,1,-1,1,1,1}}
有什么建议吗? 谢谢
【问题讨论】:
-
arma::umat用于未签名。因此,您必须创建一个不同的矩阵 (arma::mat) 来保存这些值。另外,请记住索引从 0 开始。因此,对于具有 10 个元素的v向量,索引必须在闭区间 [0, 9] 内。