2016-06-13 17 views
3

サイズM×Nのarma::matとサイズMNのarma::vec(これは行列の列主線形化です)の間を行き来したいと思います。アルマジロ - 列ベクトルの値から行列を記入してください

私は簡単しかし、私は周りに他の道を行くための簡単な方法を見つけることができない、arma::vectoriseを使用して、ベクトル、行列から、すなわち

arma::vec vector = arma::vectorise(matrix); 

を行くことができます。私は上の行列の最初の列のベクトルの最初のM値、第2列の第M値とを挿入したいと思います。そう効率的に行う方法はありますか?

答えて

4

行列からメモリがadvanced constructorsを使用して、ベクターと共有するために行います。

mat X(4,5); 

vec V(X.memptr(), X.n_elem, false, false); 

// changing elements in X or V will affect both 

限り、あなたの操作がしますエイリアシングが発生またはXまたはVのいずれかのサイズを変更し、二つのオブジェクトはありませんとしてメモリを共有し続ける。

関連する問題