Muszę sprawdzić, czy macierz jest macierzą tożsamości. Wiem, że istnieje funkcja, która sprawdza, czy macierz jest macierzą diagonalną, czyli isdiag
. Wiem, można wykonać następujące czynności, aby sprawdzić, czy matryca a
jest macierzą tożsamości:Sprawdź, czy macierz jest macierzą tożsamości w Matlab
isequal(a, eye(size(a, 1)))
Czy istnieje funkcja jakby isdiag
tha robi to bezpośrednio do mnie?
Powinieneś zasadniczo unikać sprawdzania dokładności, chyba że pracujesz z liczbami całkowitymi. Powinieneś prawdopodobnie zrobić coś takiego jak 'isidentity = @ (a, tol) all (abs (a-eye (size (a)))
Brak wbudowanej funkcji. Twoje podejście jest dobre, chyba że przetwarzasz bardzo duże (rzadkie) macierze, w których 'oko (rozmiar (a, 1)) może przekroczyć pamięć. – Daniel
Witaj, jeśli masz wiele pytań nadal otwartych bez zaakceptowanej odpowiedzi. Gdy odpowiedź rozwiąże Twoje pytanie, rozważ [akceptuj to] (http://meta.stackexchange.com/q/5234/179419), klikając znacznik wyboru. Wskazuje to szerszej społeczności, że znalazłeś rozwiązanie. – Daniel