im no soy un programador, solo tengo que resolver algo numéricamente en matlab. necesito una función para realizar la siguiente transformación para cualquier matriz cuadrada:transformando una matriz en un vector a lo largo de sus diagonales
de
row 1: 1 2 3
row 2: 4 5 6
row 3: 7 8 9
a
1 4 2 7 5 3 8 6 9
es decir, escribir la matriz en un vector a lo largo de sus diagonales de izquierda a arriba a la derecha . alguna idea por favor?
Realmente necesito un poco más de ayuda sin embargo:
decir la matriz que hemos transformado en el vector, tiene entradas indicadas por M (i, j), donde i son filas y columnas j. ahora necesito poder averiguar desde una posición en el vector, la posición original en la matriz, es decir, si es la 3ª entrada en el vector, necesito una función que me dé i = 1 j = 2. alguna idea, por favor? soy muy pegado en esta :(gracias
La llamada a BSXFUN no es necesaria.Puedes hacer 'sort (hh (:))' para obtener el vector de índice. – gnovice
Gracias, @gnovice – Jonas