im non è un programmatore, ho solo bisogno di risolvere qualcosa numericamente in MATLAB. Ho bisogno di una funzione di rendere la seguente trasformazione per qualsiasi matrice quadrata:trasformare una matrice in un vettore lungo le sue diagonali
da
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
cioè scrivere la matrice in un vettore lungo le diagonali da sinistra a destra sopra . qualche idea per favore?
ho davvero bisogno di un piccolo aiuto però:
dire la matrice che abbiamo trasformato nel vettore, contiene voci indicate con M (i, j), dove i sono righe e colonne j. ora ho bisogno di essere in grado di scoprire da una posizione nel vettore, la posizione originale nella matrice, cioè se la sua terza entrata nel vettore, ho bisogno di una funzione che mi dia i = 1 j = 2. qualche idea per favore? im veramente bloccato su questo :(grazie
La chiamata a BSXFUN non è necessaria.Si può semplicemente fare 'sort (hh (:))' per ottenere il vettore dell'indice. – gnovice
Grazie, @gnovice – Jonas