我是新來的使用犰狳,儘管嘗試/搜索相當多,但不能得到以下內容。犰狳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工作。謝謝! –