Pie*_*chi 3 c++ vector matrix armadillo column-major-order
我想在arma::mat大小为M x N和arma::vec大小为MN(这是矩阵的列主线性化)之间来回切换.
我可以轻松地从矩阵到矢量使用arma::vectorise,即
arma::vec vector = arma::vectorise(matrix);
Run Code Online (Sandbox Code Playgroud)
但是,我找不到一个简单的方法去反过来.我想在矩阵的第一列中插入向量的前M个值,在第二列中插入第二个M值,依此类推.有没有办法有效地这样做?
使用高级构造函数使矩阵中的内存与向量共享:
mat X(4,5);
vec V(X.memptr(), X.n_elem, false, false);
// changing elements in X or V will affect both
Run Code Online (Sandbox Code Playgroud)
只要您的操作不会造成混淆或改变无论是尺寸X还是V,这两个对象将保留共享内存.
| 归档时间: |
|
| 查看次数: |
2092 次 |
| 最近记录: |