C ++で5つの行列(すべてが同じサイズではない)を乗算したいのですが、どうすればよいですか? ループを5回使用する必要がありますか、またはmatlabのような簡単な方法はありますか? 行列のサイズは 1 番目 : 1x4 2 番目 : 4x4 3 番目 : 4x4 4 番目 : 4x4 5 番目 : 4x1
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 回ずつ、関数を 4 回使用します。
または、*
自分で定義した型行列の演算子を定義して、次のように書くこともできます。a*b*c*d
于 2013-11-01T13:01:43.703 に答える