私は現在 MATLAB プロジェクトに取り組んでおり、C++ と Eigen を使用して最も計算量の多い部分を再実装したいと考えています。次の操作 (MATLAB 構文) を実行する方法があるかどうかを知りたいです。
B = A(A < 3);
MATLAB に慣れていない方のために説明すると、上記のコマンドは、値が 3 未満の A のセルで構成される行列 B を初期化します。
Eigenフォーラムの投稿から、次を使用して目的のインデックスを取得できることがわかりました。
MatrixXi indices = (A.array() < 3).cast<int>();
私がしたいのは次のようなものです:
MatrixXd B = A(A.array() < 3);
ありがとう。