2012-05-11 8 views
1

私は固有行列ライブラリを使用しています。Eigen to floatで1 * 1の行列を変更するにはどうすればよいですか?

1 * 1の行列を数値(浮動小数点数など)に変換するにはどうすればよいですか?

それはこの

cout << ((MatrixXf(1,2) << 0, 2).finished()) * ((MatrixXf(2,1) << 0, 2).finished()) << endl; 

を行うにはOKです。しかし、私はそれが言ったこの

MatrixXf mtemp(2,1); 
mtemp(0,0) = ((MatrixXf(1,2) << 0, 2).finished()) * ((MatrixXf(2,1) << 0, 2).finished()); 

をしようとすると 'constの固有:: GeneralProductが割り当てに浮かぶように変換することはできません'。

答えて

1

matが1行1列の行列の場合、mat.value()はスカラーとしての唯一のエントリです。

したがって、あなたは

mtemp(0,0) = (((MatrixXf(1,2) << 0, 2).finished()) 
       * ((MatrixXf(2,1) << 0, 2).finished())).value(); 
を行うことができます
関連する問題