尝试使用for循环在vec或rowvec中添加元素,但是每次循环添加元素时,矩阵每次都重置吗?
在Armadillo的Noob,我看过文档,但我什至找不到单个示例示例将它们用于循环。感谢您的帮助。
arma::vec A;
for (int i = 0; i < 10; i++) {
A << i;
}
cout << A;
预期输出:0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0
实际输出:9.0
答案 0 :(得分:1)
有几种方法可以做到这一点。第一种方法是简单地预先声明向量的大小,然后set声明各个元素:
arma::vec A(10);
for (arma::uword i = 0; i < 10; ++i) {
A(i) = i;
}
如果您事先不知道需要多少元素,请按照答案中详述的其他方法进行操作:push_back/append or appending a vector with a loop in C++ Armadillo