我是新来的使用犰狳,尽管尝试/搜索相当多,但不能得到以下内容。犰狳C++:矩阵初始化从数组
有两个巨大的(动态)数组(不是向量),我需要执行关联。我决定为此使用犰狳。我知道如何使用向量初始化arma :: mat,但是我可以使用数组来做到这一点吗?我不理解,因为我在documentation中没有看到任何提及。 我试图避免使用矢量内部设计的原因。 我尝试使用示例数组手动初始化每个元素(作为一个愚蠢但起点)。类似下面的代码不起作用。
using namespace std;
using namespace arma;
mat A(SIZE, 1), B(SIZE, 1);
for(int i = 0; i < SIZE; i++)
{
A << v[i] << endr;
B << c[i] << endr;
}
cout << "A: " << endl;
A.print();
cout << "B: " << endl;
B.print();
对于输入阵列V = {1,2,0,-1,0.9}和c = {0,0.5,1,-2,-5}。输出将是:
A:
0
B:
-5.0000
这是可以理解的。 任何解决与数组初始化arma :: mat或arma :: colvector?提前致谢!
,除非你打算在一次初始化所有的元素,不要使用<<操作(如: A << 4 << 5 << 9)。可以使用循环来设置元素,也可以使用下面由Martin J描述的更高效的aux_mem构造方法。 – mtall
是的,我意识到<<操作符不是这样。 aux_mem工作。谢谢! –