
Cómo puedo recorrer una matriz cambiandole el origen?
Publicado por Juan Sebastian Duarte (7 intervenciones) el 16/08/2015 00:07:01
Tengo que hacer una función donde se multipliquen dos matrices. Una matriz es llamada kernel la cual es una matriz con número de columnas y filas impares y la otra matriz es llamada MP, la cual es más grande que Kernel. El problema es que Kernel tiene su origen en todo el centro, entonces necesito empezar el desarrollo del problema entorno al origen. Así, no empezar en la casilla (1,1) si no en la (2,2) para una matriz 3x3.
La matriz de salida MS debe tener el tamaño de MP y sus elementos deben cumplir que:
MS(i,j)=MP(i-1, j-1)*K(-1,-1) + MP(i-1, j)*K(-1,0) + MP(i-1, j+1)*K(-1,1) +MP(i, j-1)*K(0,-1) + MP(i, j)*K(0,0) + MP(i, j+1)*K(0,1)+MP(i+1, j-1)*K(1, -1) +MP(i+1, j)*K(1, 0) + MP(i+1, j+1)*K(1, 1)
Para K [3x3].....K puede tener cualquier tamaño siempre y cuando mxm y m impar.
Ya llevo tiempo pensandolo y no logro avanzar en esta parte. Agradezco cualquier ayuda que me puedan brindar!
Saludos
La matriz de salida MS debe tener el tamaño de MP y sus elementos deben cumplir que:
MS(i,j)=MP(i-1, j-1)*K(-1,-1) + MP(i-1, j)*K(-1,0) + MP(i-1, j+1)*K(-1,1) +MP(i, j-1)*K(0,-1) + MP(i, j)*K(0,0) + MP(i, j+1)*K(0,1)+MP(i+1, j-1)*K(1, -1) +MP(i+1, j)*K(1, 0) + MP(i+1, j+1)*K(1, 1)
Para K [3x3].....K puede tener cualquier tamaño siempre y cuando mxm y m impar.
Ya llevo tiempo pensandolo y no logro avanzar en esta parte. Agradezco cualquier ayuda que me puedan brindar!
Saludos
Valora esta pregunta


0