Я хочу умножить 5 матриц (все они не одного размера) в c++, так что я могу сделать? мне придется использовать цикл 5 раз или есть какой-нибудь простой метод, как в Matlab? размеры матрицы: 1:1x4 2nd: 4x4 3rd: 4x4 4th: 4x4 5th: 4x1
Вы можете использовать библиотеку форсированной линейной алгебры, которая определяет как матричный, так и векторный типы и имеет умножение с 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;
В качестве альтернативы вы можете определить оператор *
для выбранной вами матрицы типов, чтобы вы могли просто написать a*b*c*d
operator*
.