Tengo una pregunta que podría ser para principiantes.Multiplicación de matrices
Quiero multiplicar una matriz de 20x2 por una matriz de 2x2 en C++.
he probado con OpenCV pero me da un error que es
mal argumento (Desconocido tipo de matriz) en cvarrToMat
Aquí está el código que he utilizado en OpenCV en Para verificar el problema si estaba con mi código o el problema en openCV pero aún no funciona, puedo compilar sin error, pero cuando pruebo el código me aparece el problema "Argumento malo (tipo de matriz desconocida) en cvarrToMat "
#include <stdio.h>
#include <stdlib.h>
//#include "/usr/include/opencv/cv.h"
#include <cv.h>
#include <cvaux.h>
#include <highgui.h>
#include <math.h>
#include <iostream>
int main()
{
double a[] = {1, 2, 3, 4};
CvMat Ma;
cvInitMatHeader(&Ma, 2, 2, CV_32FC1, a);
double b[] ={0, -1, 1, 0};
CvMat Mb;
cvInitMatHeader(&Mb, 2, 2, CV_32FC1, b);
CvMat Mc;
CvMat Mc1;
cvMatMul(&Ma, &Mb, &Mc);
return 0;
}
¿Sabes cómo hacerlo a mano? ¿Estás buscando una forma que no sea a mano? – Falmarri
¿Puedo preguntar, por qué necesita esta multiplicación? Sólo curioso. –
Quizás deberías aceptar algunas respuestas. – GWW