Ho bisogno di verificare se una matrice è una matrice di identità. So che c'è una funzione che controlla se una matrice è una matrice diagonale, ovvero, isdiag
. So di poter effettuare le seguenti operazioni per verificare se una matrice a
è una matrice di identità:Verificare se una matrice è una matrice di identità in Matlab
isequal(a, eye(size(a, 1)))
C'è una funzione come isdiag
tha lo fa direttamente per me?
In genere, si dovrebbe evitare di verificare l'esattezza, a meno che non si stia lavorando con numeri interi. Probabilmente dovresti fare qualcosa come "isidentity = @ (a, tol) all (abs (a-eye (size (a)))
Nessuna funzione incorporata. Il tuo approccio è buono a meno che non elabori matrici molto grandi (sparse) dove 'eye (size (a, 1))' può superare la memoria. – Daniel
Ciao @nbro hai ancora molte delle tue domande aperte senza una risposta accettata. Quando una risposta ha risolto la tua domanda, ti preghiamo di prendere [accettandolo] (http://meta.stackexchange.com/q/5234/179419) facendo clic sul segno di spunta. Questo indica alla comunità più ampia che hai trovato una soluzione. – Daniel