Đọc hướng dẫn này nếu bạn muốn gỡ bỏ giá trị NaN từ một ma trận trong MATLAB.
Phương pháp loại bỏ giá trị NaN khỏi ma trận trong MATLAB
Bạn có thể xóa các giá trị NAN khỏi ma trận trong MATLAB:
Phương pháp 1: Xóa các giá trị NaN khỏi Ma trận trong MATLAB bằng hàm rmmissing()
Các rmmissing() là một chức năng có sẵn trong MATLAB mà bạn có thể sử dụng để loại bỏ dễ dàng giá trị NaN từ một ma trận trong mã MATLAB của bạn. Hàm này lấy một ma trận làm đầu vào và trả về một ma trận mới không bao gồm giá trị NaN .
cú pháp
Các rmmissing() hàm tuân theo một cú pháp đơn giản trong MATLAB như dưới đây:
mất tích ( m )
Ở đâu m là một ma trận có giá trị NaN .
Ví dụ
Ví dụ sau minh họa việc sử dụng rmmissing() có chức năng loại bỏ giá trị NaN từ một ma trận do người dùng chỉ định.
B = thiếu rm ( MỘT ) ;
phân tán ( b ) ;
Phương pháp 2: Xóa các giá trị NaN khỏi Ma trận trong MATLAB bằng hàm isnan()
Bạn cũng có thể sử dụng isnan() chức năng trong mã MATLAB của bạn để loại bỏ NaN các giá trị từ ma trận của bạn. Nó sử dụng cùng một đối số là một ma trận mà bạn muốn loại bỏ NaN các giá trị. Tuy nhiên, thay vì đưa ra các giá trị, hàm này cung cấp các giá trị logic, tức là bạn sẽ thấy logic 1 nếu có giá trị NaN trong ma trận trong khi logic 0 nếu không có giá trị NaN trong ma trận.
cú pháp
Cú pháp sử dụng isnan() trong MATLAB được đưa ra dưới đây:
Đây, m là ma trận mà bạn muốn loại bỏ NaN các giá trị.
Ví dụ
Ví dụ đưa ra dưới đây tương tự như ví dụ đã được cung cấp cho rmmissing() chức năng. Tuy nhiên, thay vì rmmissing() , chúng tôi sẽ sử dụng isnan() chức năng loại bỏ giá trị NaN từ mã. Hơn nữa, chúng tôi cũng sẽ tạo một ma trận khác sẽ lưu trữ các giá trị của ma trận không bao gồm các giá trị NaN.
MỘT = [ 6 9 số 8 NaN NaN 9 2 7 ] ;B = isnan ( MỘT ) ;
phân tán ( b )
C = Một ( ~ B )
Phần kết luận
Các giá trị NaN khiến bạn khó nhận được kết quả trong mã MATLAB của mình. Bạn có thể xóa chúng trong mã của mình bằng cách sử dụng rmmissing() hoặc isnan() chức năng. Việc sử dụng rmmissing() là đơn giản vì nó cho kết quả ngay lập tức. Tuy nhiên, đối với trường hợp của isnan() , bạn sẽ thấy các giá trị logic và để có được ma trận mong muốn, bạn phải lấy các phần tử từ ma trận không phải là NaN . Hướng dẫn trên đây đã cung cấp cả hai phương pháp này để loại bỏ giá trị NaN từ ma trận của MATLAB và bạn có thể chọn cái phù hợp hơn với mình.