Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用for循环向vec或rowvec添加元素?_C++_Armadillo - Fatal编程技术网

C++ 如何使用for循环向vec或rowvec添加元素?

C++ 如何使用for循环向vec或rowvec添加元素?,c++,armadillo,C++,Armadillo,尝试使用for循环在vec或rowvec中添加元素,但每次循环添加元素时,矩阵都会重置 Armadillo中的Noob,我查看了文档,但我甚至找不到一个用于循环的示例。谢谢你的帮助 arma::vec A; for (int i = 0; i < 10; i++) { A << i; } cout << A; arma::veca; 对于(int i=0;i

尝试使用for循环在vec或rowvec中添加元素,但每次循环添加元素时,矩阵都会重置

Armadillo中的Noob,我查看了文档,但我甚至找不到一个用于循环的示例。谢谢你的帮助

arma::vec A;
for (int i = 0; i < 10; i++) {
    A << i;
}
cout << A;
arma::veca;
对于(int i=0;i<10;i++){

有几种方法可以实现这一点。第一种方法是预先简单地声明向量的大小和单个元素:

arma::vec A(10);
for (arma::uword i = 0; i < 10; ++i) {
    A(i) = i;
}
arma::veca(10);
对于(arma::uwordi=0;i<10;++i){
A(i)=i;
}

如果您事先不知道需要多少元素,请遵循以下答案中详述的其他方法:

可能重复的@scohe001,该重复不太适用,因为OP使用的是
arma::vec
s而不是
std::vector
s。您应该能够使用regular来初始化您的值,尽管它支持BELY在性能方面不是最佳的。@ 0x54 53 AHH我甚至没有意识到标签,我认为它只是C++写得很差。在这种情况下,这可能是一个更好的复制:为什么是投票,这是一个很好的问题。答案并不明显。文档不说如何将新元素推到VEC中。