איך לספור את NaN ב MATLAB

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));

הדוגמא השנייה של הקוד מגדירה מחדש את המטריצה ​​למטריצה ​​חד-ממדית, כך שסכום הפונקציה פועל על כל המטריצה.