Διαφορετικές μέθοδοι για την αφαίρεση τιμών NaN από μια μήτρα στο MATLAB

Diaphoretikes Methodoi Gia Ten Aphairese Timon Nan Apo Mia Metra Sto Matlab



ο Όχι ένας αριθμός αξίες, που συνήθως αναφέρονται ως Τιμές NaN χρησιμοποιούνται για την αναπαράσταση δεδομένων που λείπουν ή δεν είναι έγκυρα. Αυτές οι αξίες δεν είναι πραγματικές αξίες. Έτσι, δεν μπορείτε να τα χρησιμοποιήσετε στους μαθηματικούς σας υπολογισμούς. Εάν το αποτέλεσμα ή η παραγωγή σας περιλαμβάνει Τιμές NaN , πρέπει να τα αφαιρέσετε για να βεβαιωθείτε ότι τα αποτελέσματά σας είναι ακριβή και συνεπή. Ο λόγος είναι Τιμές NaN θα διαταράξει τις μαθηματικές πράξεις σας και θα κάνει τα αποτελέσματά σας ανακριβή. Επίσης, η παρουσία αυτών των τιμών θα δυσκολέψει τη σύγκριση των αποτελεσμάτων σας με άλλα αποτελέσματα.

Διαβάστε αυτόν τον οδηγό εάν θέλετε να καταργήσετε Τιμές NaN από μια μήτρα στο MATLAB.

Μέθοδοι για την αφαίρεση τιμών NaN από έναν πίνακα στο MATLAB

Μπορείτε να αφαιρέσετε τις τιμές NAN από τη μήτρα στο MATLAB:







Μέθοδος 1: Αφαιρέστε τις τιμές NaN από έναν πίνακα στο MATLAB χρησιμοποιώντας τη συνάρτηση rmmissing()

ο rmmissing() είναι μια ενσωματωμένη λειτουργία στο MATLAB που μπορείτε να χρησιμοποιήσετε για να αφαιρέσετε εύκολα Τιμές NaN από έναν πίνακα στον κώδικα MATLAB σας. Αυτή η συνάρτηση παίρνει έναν πίνακα ως είσοδο και επιστρέφει έναν νέο πίνακα που δεν περιλαμβάνει το Τιμές NaN .



Σύνταξη
ο rmmissing() Η συνάρτηση ακολουθεί μια απλή σύνταξη στο MATLAB όπως δίνεται παρακάτω:



παραλείποντας ( Μ )

Οπου Μ είναι ένας πίνακας που έχει το Τιμές NaN .





Παράδειγμα
Το ακόλουθο παράδειγμα δείχνει τη χρήση του rmmissing() λειτουργία στην αφαίρεση του Τιμές NaN από μια μήτρα που καθορίζεται από το χρήστη.

ΕΝΑ = [ 6 9 8 NaN NaN 9 2 7 ] ;
B = rm missing ( ΕΝΑ ) ;
διαθ ( σι ) ;



Μέθοδος 2: Αφαιρέστε τις τιμές NaN από έναν πίνακα στο MATLAB χρησιμοποιώντας τη συνάρτηση isnan()

Μπορείτε επίσης να χρησιμοποιήσετε το isnan() λειτουργούν στον κώδικα MATLAB για κατάργηση NaN τιμές από τον πίνακα σας. Χρησιμοποιεί το ίδιο όρισμα που είναι ένας πίνακας από τον οποίο θέλετε να αφαιρέσετε το NaN αξίες. Ωστόσο, αντί να δίνει τιμές, αυτή η συνάρτηση παρέχει τις λογικές τιμές, δηλαδή θα δείτε ένα λογικό 1 εάν υπάρχει Τιμή NaN στον πίνακα ενώ ένα λογικό 0 αν δεν υπάρχει Τιμή NaN στη μήτρα.

Σύνταξη

Η σύνταξη προς χρήση isnan() Η λειτουργία στο MATLAB δίνεται παρακάτω:

είναι ένα ( Μ )

Εδώ, Μ είναι η μήτρα από την οποία θέλετε να αφαιρέσετε NaN αξίες.

Παράδειγμα

Το παράδειγμα που δίνεται παρακάτω είναι παρόμοιο με αυτό που παρέχεται ήδη για το rmmissing() λειτουργία. Ωστόσο, αντί για rmmissing() , θα το χρησιμοποιησουμε isnan() λειτουργία για αφαίρεση Τιμές NaN από τον κωδικό. Επιπλέον, θα δημιουργήσουμε επίσης έναν άλλο πίνακα που θα αποθηκεύει τις τιμές ενός πίνακα που δεν περιλαμβάνει τιμές NaN.

ΕΝΑ = [ 6 9 8 NaN NaN 9 2 7 ] ;
Β = ισνάν ( ΕΝΑ ) ;
διαθ ( σι )
ντο = Α ( ~ Β )

συμπέρασμα

ο Τιμές NaN σας δυσκολεύουν να λάβετε το αποτέλεσμα στον κώδικα MATLAB σας. Μπορείτε να τα αφαιρέσετε στον κώδικά σας χρησιμοποιώντας το rmmissing() ή isnan() λειτουργία. Η χρήση του rmmissing() είναι απλό καθώς δίνει το αποτέλεσμα αμέσως. Ωστόσο, για την περίπτωση του isnan() , θα δείτε τις λογικές τιμές και για να πάρετε τον επιθυμητό πίνακα, πρέπει να πάρετε τα στοιχεία από τον πίνακα που δεν είναι NaN . Αυτός ο παραπάνω οδηγός παρέχει και τις δύο αυτές μεθόδους για την αφαίρεση του Τιμές NaN από το matrix του MATLAB και μπορείτε να επιλέξετε αυτό που σας ταιριάζει καλύτερα.