0

C ++で5つの行列(すべてが同じサイズではない)を乗算したいのですが、どうすればよいですか? ループを5回使用する必要がありますか、またはmatlabのような簡単な方法はありますか? 行列のサイズは 1 番目 : 1x4 2 番目 : 4x4 3 番目 : 4x4 4 番目 : 4x4 5 番目 : 4x1

4

2 に答える 2

2

行列型とベクトル型の両方を定義し、 との乗算を持つブースト線形代数ライブラリを使用できますoperator *

matrix<int>  m1(1,4);
matrix<int>  m2(4,4);
matrix<int>  m3(4,4);
matrix<int>  m4(4,1);

//... initialize your matrices here

matrix<int> result = m1*m2*m3*m4;
于 2013-11-01T13:03:21.333 に答える
1
  1. 任意のサイズの行列の行列乗算を実行する関数を記述します (サニティ チェックあり)。
  2. 乗算ごとに 1 回ずつ、関数を 4 回使用します。

または、*自分で定義した型行列の演算子を定義して、次のように書くこともできます。a*b*c*d

于 2013-11-01T13:01:43.703 に答える