תאים, רבותי, תאים
השבוע שוחחתי עם לקוח, לא אפרט מאיזו חברה, שהתעניין ביכולת לעבור בצורה אוטומטית מקוד MATLAB לקוד C. מפה לשם מצאתי את עצמי מספר לו על העזרה שמספק ה-
M-Lint Code Analyzer בכל הקשור ליצירת קוד C מתוך MATLAB, כשלפתע התברר לי שאותו מהנדס בכלל לא מכיר את הפונקציונליות הבסיסית של הכלי. כמובן שהסברתי לו עליה בקצרה ואף הפניתי אותו לפוסט הקודם בבלוג הזה, ולאחר מכן התחלתי לעבור איתו על דוגמה שעושה שימוש ב-Cell Mode. אז, התברר לי שגם את ה-Feature הזה הוא לא מכיר, רק שהפעם לא היה לאן להפנות אותו להשלמת הידע החסר, והתיישבתי לכתוב את הפוסט הנוכחי.
כמו ה-M-Lint Code Analyzer, גם Cell Mode הוא כלי די ותיק. ייתכן ששמתם לב אליו, אבל לא השתמשתם בו. ואם לא שמתם לב אליו, כנראה שהוא פשוט מנוטרל אצלכם (ניתן לתקן זאת על ידי פתיחת M-File, ובחירה בתפריט Cell, ובו – Enable Cell Mode). ה-Feature הזה מאפשר לכם לחלק את ה-M-File שלכם למקטעים, אשר לא חייבים לרוץ כולם יחד. ניתן, למשל, לשנות מקטע מסויים ולהריץ אותו מספר פעמים, ורק אחרי שאתם מרוצים מביצועיו – לעבור הלאה, ל-Cell הבא.
יצירת מקטע מבוצעת על ידי הסימן %%, ואם תכתבו גם טקסט לצידו, הוא יהפוך לכותרת המקטע (דבר שימושי במיוחד אם אתם נעזרים ביכולת ליצור מסמך Word, PowerPoint, PDF או HTML מתוך ה-m-file שלכם). הרצת תא מתבצעת על ידי בחירה בלחצן השמאלי התחתון בשורת הלחצנים שב-Editor (Evaluate Cell, אפשר גם ללחוץ על מקשי Ctrl ו-Enter יחד). הרצת תא ומעבר לתא הבא מתאפשרת על ידי בחירה בלחצן מימין ללחצן הקודם (או Ctrl+Shift+Enter).
שני האלמנטים הבאים מאפשרים לשנות מספר בתא (שהסמן ממוקם לידו או מסמן אותו) על ידי הפחתת/הוספת מספר ממנו (במקרה שבאיור למעלה, המספר 1.0) או הכפלה/חלוקה בפקטור מסויים (במקרה הנ"ל, הפקטור 1.1). כל שינוי של המספר ילווה גם בהרצה מחודשת של התא, והדבר שימושי כאשר מעוניינים לבחון פרמטר כלשהו (למשל, סף מסויים או מספר המקדמים של מסנן).
את יתר הלחצנים אני בטוח שתצליחו לפענח לבדכם (ובקשר ללחצן השני מימין, נסו אותו אחרי שתיתנו שמות לתאים שיצרתם). שימו לב, אגב, שבגרסת R2010a, שמתוכננת לצאת ב-5/3/2010, מסתמן שאמורים להתווסף שני לחצנים חדשים, המאפשרים לעבור לתא הבא או לתא הקודם מבלי להריץ את התא הנוכחי (הלחצנים מופיעים בצד שמאל באיור למטה, ואגב, הפונקציונליות שלהם כבר קיימת – חץ למטה + Ctrl או חץ למעלה + Ctrl).
השבוע שוחחתי עם לקוח, לא אפרט מאיזו חברה, שהתעניין ביכולת לעבור בצורה אוטומטית מקוד MATLAB לקוד C. מפה לשם מצאתי את עצמי מספר לו על העזרה שמספק ה-
M-Lint Code Analyzer בכל הקשור ליצירת קוד C מתוך MATLAB, כשלפתע התברר לי שאותו מהנדס בכלל לא מכיר את הפונקציונליות הבסיסית של הכלי. כמובן שהסברתי לו עליה בקצרה ואף הפניתי אותו לפוסט הקודם בבלוג הזה, ולאחר מכן התחלתי לעבור איתו על דוגמה שעושה שימוש ב-Cell Mode. אז, התברר לי שגם את ה-Feature הזה הוא לא מכיר, רק שהפעם לא היה לאן להפנות אותו להשלמת הידע החסר, והתיישבתי לכתוב את הפוסט הנוכחי.
כמו ה-M-Lint Code Analyzer, גם Cell Mode הוא כלי די ותיק. ייתכן ששמתם לב אליו, אבל לא השתמשתם בו. ואם לא שמתם לב אליו, כנראה שהוא פשוט מנוטרל אצלכם (ניתן לתקן זאת על ידי פתיחת M-File, ובחירה בתפריט Cell, ובו – Enable Cell Mode). ה-Feature הזה מאפשר לכם לחלק את ה-M-File שלכם למקטעים, אשר לא חייבים לרוץ כולם יחד. ניתן, למשל, לשנות מקטע מסויים ולהריץ אותו מספר פעמים, ורק אחרי שאתם מרוצים מביצועיו – לעבור הלאה, ל-Cell הבא.
יצירת מקטע מבוצעת על ידי הסימן %%, ואם תכתבו גם טקסט לצידו, הוא יהפוך לכותרת המקטע (דבר שימושי במיוחד אם אתם נעזרים ביכולת ליצור מסמך Word, PowerPoint, PDF או HTML מתוך ה-m-file שלכם). הרצת תא מתבצעת על ידי בחירה בלחצן השמאלי התחתון בשורת הלחצנים שב-Editor (Evaluate Cell, אפשר גם ללחוץ על מקשי Ctrl ו-Enter יחד). הרצת תא ומעבר לתא הבא מתאפשרת על ידי בחירה בלחצן מימין ללחצן הקודם (או Ctrl+Shift+Enter).
שני האלמנטים הבאים מאפשרים לשנות מספר בתא (שהסמן ממוקם לידו או מסמן אותו) על ידי הפחתת/הוספת מספר ממנו (במקרה שבאיור למעלה, המספר 1.0) או הכפלה/חלוקה בפקטור מסויים (במקרה הנ"ל, הפקטור 1.1). כל שינוי של המספר ילווה גם בהרצה מחודשת של התא, והדבר שימושי כאשר מעוניינים לבחון פרמטר כלשהו (למשל, סף מסויים או מספר המקדמים של מסנן).
את יתר הלחצנים אני בטוח שתצליחו לפענח לבדכם (ובקשר ללחצן השני מימין, נסו אותו אחרי שתיתנו שמות לתאים שיצרתם). שימו לב, אגב, שבגרסת R2010a, שמתוכננת לצאת ב-5/3/2010, מסתמן שאמורים להתווסף שני לחצנים חדשים, המאפשרים לעבור לתא הבא או לתא הקודם מבלי להריץ את התא הנוכחי (הלחצנים מופיעים בצד שמאל באיור למטה, ואגב, הפונקציונליות שלהם כבר קיימת – חץ למטה + Ctrl או חץ למעלה + Ctrl).
ייתכן שלא תראו את הלחצנים החדשים מבלי לבצע קסטומיזציה של האייקונים שמופיעים בסרגל הכלים התחתון. תוכלו לעשות זאת על ידי בחירה ב-File-Preference-Toolbars-Editor-Cell Mode. שם גם תוכלו להשפיע על המראה של סרגלי כלים נוספים בסביבת העבודה.
למה אתם משתמשים ב-Cell Mode? אילו לחצנים הייתם מוסיפים לו? האם יש לחצנים אחרים שחסרים לכם ב-MATLAB? מה עומד מאחורי ראשי התיבות PDF
ו-HTML? האם השתמשתם בקדם-גרסה (Prerelease) של R2010a? ומדוע לא עניתם על אף שאלה מתוך אלה ששאלתי בסוף הפוסט הקודם?
ו-HTML? האם השתמשתם בקדם-גרסה (Prerelease) של R2010a? ומדוע לא עניתם על אף שאלה מתוך אלה ששאלתי בסוף הפוסט הקודם?
הפונקציה שללא ספק חסרה לי ב-Cell mode היא כזו שתאפשר להריץ תאים נבחרים ו"לכבות" תאים אחרים בזמן הרצת התוכנית - לשיפור יכולת ה-debugging
השבמחקרן היי,
השבמחקהאם פתרון שיהיה מקובל עליך הוא סימון של מספר תאים אותם תרצה להריץ על ידי לחיצה עליהם במקביל ללחיצה על מקש ה-Ctrl במקלדת?
או אולי סימון של התאים על ידי checkbox שיהיה לצידם?
רועי
checkbox נשמע כמו הפתרון הכי נוח
השבמחקהגשתי בקשה בנושא ל-The MathWorks
השבמחק