איך לספור את NaN ב MATLAB
שלב 1
ליצור או להשיג מטריצה המכילה ערכי NaN: לדוגמה, myArray = nan (m, n); "ליצור מטריצה m-by-n של ערכי NaN ל- myArray המשתנה.
שלב 2
קבע אם כל ערך שווה ל- NaN באמצעות הפונקציה "isnan ()". הדבר נחוץ מכיוון שפעולות לוגיות רגילות, כגון "==", אינן יכולות להשוות ערכי NaN. בעקבות הדוגמה הקודמת:
myBooleanArray = isnan (myArray);
שלב 3
הוסף את הערכים ב- myBooleanArray כדי לקבוע את מספר ערכי ה- NaN הכלולים ב- myArray שלי. ב- MATLAB, היקף הפעולות פועל רק בממד האחרון. לכן, בדוגמה הקודמת של m-by-n myArray, אתה צריך גם להתקשר:
how_many_NaNs = סכום (סכום (myBooleanArray));
או
how_many_NaNs = סכום (reshape (myBooleanArray, m * n, 1));
הדוגמא השנייה של הקוד מגדירה מחדש את המטריצה למטריצה חד-ממדית, כך שסכום הפונקציה פועל על כל המטריצה.