умножение 5 разных размеров матрицы в с ++

0

Я хочу умножить 5 матриц (все они не одного размера) в c++, так что я могу сделать? мне придется использовать цикл 5 раз или есть какой-нибудь простой метод, как в Matlab? размеры матрицы: 1:1x4 2nd: 4x4 3rd: 4x4 4th: 4x4 5th: 4x1

  • 1
    Вы можете создать класс Matrix и предоставить operator* .
  • 0
    Посмотрите, есть ли уже библиотека для представления матриц. Если вы делаете это для класса / веселья, вы должны начать с небольшой иерархии классов и, возможно, параметров шаблона для определения размера матрицы.
Показать ещё 4 комментария
Теги:
matrix

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;
1
  1. Напишите функцию, которая выполняет матричное умножение для матриц произвольного размера (с проверкой работоспособности).
  2. Используйте функцию четыре раза, один раз для каждого умножения.

В качестве альтернативы вы можете определить оператор * для выбранной вами матрицы типов, чтобы вы могли просто написать a*b*c*d

Ещё вопросы

Сообщество Overcoder
Наверх
Меню