Tôi cần kiểm tra xem ma trận có phải là ma trận nhận dạng hay không. Tôi biết có một chức năng kiểm tra xem ma trận có phải là ma trận chéo hay không, tức là, isdiag
. Tôi biết tôi có thể làm như sau để kiểm tra xem một ma trận a
là một ma trận sắc:Kiểm tra xem ma trận có phải là ma trận nhận dạng trong Matlab
isequal(a, eye(size(a, 1)))
Có một chức năng như isdiag
tha làm nó trực tiếp cho tôi?
Bạn thường tránh kiểm tra tính chính xác, trừ khi bạn đang làm việc với số nguyên. Bạn có lẽ nên làm một cái gì đó như 'isidentity = @ (a, tol) tất cả (abs (một mắt (kích thước (a)))
Không có chức năng tích hợp. Cách tiếp cận của bạn là tốt, trừ khi bạn xử lý ma trận rất lớn (thưa thớt) trong đó 'mắt (kích thước (a, 1))' có thể vượt quá bộ nhớ. – Daniel
Hi @nbro bạn có nhiều câu hỏi của mình vẫn mở mà không có câu trả lời được chấp nhận.Khi câu trả lời đã giải quyết được câu hỏi của bạn, hãy cân nhắc [chấp nhận nó] (http://meta.stackexchange.com/q/5234/179419) bằng cách nhấp vào đánh dấu. Điều này cho thấy cộng đồng rộng lớn hơn mà bạn đã tìm thấy giải pháp. – Daniel