‏הצגת רשומות עם תוויות The MathWorks. הצג את כל הרשומות
‏הצגת רשומות עם תוויות The MathWorks. הצג את כל הרשומות

יום רביעי, 3 באוקטובר 2012

בעזרת השם | על השינויים בשם החברה המפתחת את MATLAB ובלוגו שלה לאורך השנים

בחודש שעבר העברתי הרצאה בנושא MATLAB באחד מהמוסדות האקדמים המובילים בארץ, ולאחר מכן התפניתי לשוחח עם כמה מהמשתמשים במשרדים שלהם במטרה לסייע להם לייעל את מחקריהם. באחת מאותן שיחות, נדדו לפתע עיני אל מרומי ארון הספרים שהיה במשרד, שם זיהיתי פרטי אספנות יקרי ערך – חוברות ישנות במיוחד של חברת MathWorks. למעשה, בתקופה שבה אותן חוברות יצאו לאור, שם החברה לא היה MathWorks, וגם לא השם שקדם לשם זה (The MathWorks), אלא שם ישן יותר – The Math Works (שלוש מילים, או ארבע אם אתם סופרים את ה-Inc).

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

שימו לב, למשל, למדריכי המשתמש בכלים Image Processing Toolbox
MATLAB Compiler ו- Partial Differential Equation Toolbox (האחרון עוד באריזתו המקורית!). הנה התמונות :

ולאור השקתו של MATLAB 8 בחודש שעבר והסקירה שפורסמה בבלוג זה על הפיצ'רים החדשים במשפחת כלי MATLAB, מה תגידו על החוברת המתארת את הפיצ'רים החדשים במשפחת כלי MATLAB בגרסה 5.2, אשר ישנה בכ-20 גרסאות מזו החדשה?
פריט ארכיוני זה כמובן שרק עודד אותי להמשיך ולחטט (ברשות המארחים, כמובן...), וכך מצאתי גם את החוברת המכילה את הפי'צרים החדשים בגרסה 4 (!) של תוכנת MATLAB, הנה התמונות:

חדי העין מביניכם ודאי הבחינו בשתי התמונות האחרונות בהבדלים בין הממברנות בשני הלוגואים השונים של חברת MathWorks. למעשה, לשני סוגי הממברנה הללו קדמו שני סוגים אחרים, כפי שניתן לראות בתחתית סקירה שהכין ד"ר Cleve Moler, האדם שהמציא את תוכנת MATLAB, אשר משמש כיום כמתמטיקאי הראשי של החברה. היה לי את הכבוד לפגוש את האיש הזה מספר פעמים, האחרונה שבהן לפני כשנתיים, ואני חושב שכל משתמש MATLAB סנטימנטלי כמוני יהנה מקריאת הסקירה הנ"ל, המתארת את קורותיה של חברת MathWorks מימיה הראשונים, או בעצם את קורותיה של חברת The Math Works...

האם יש ברשותכם ספרות עתיקה יותר של MATLAB מזו שמופיעה למעלה? מאיזו שנה אתם משתמשים ב-MATLAB ?


יום שני, 5 באפריל 2010

מה חדש ב-MATLAB ? (חלק 3)

Push the button

בסוף הפוסט הקודם שאלתי אתכם האם יש לחצנים שחסרים לכם ב-MATLAB. קיבלתי רק תשובה אחת, והייתי רוצה להאמין שזה בגלל שלרובכם לא חסר דבר ב-MATLAB, אבל אני בספק שזו אכן האמת. בהנחה שאתם מתביישים לכתוב על הלחצנים שחסרים לכם, עומדות לרשותכם שתי אפשרויות. האחת, היא לחכות ש-The MathWorks תקבל בקשה דומה מקולגה שלכם ותבחר לממש אותה. והשניה, היא ליצור את הלחצן בעצמכם. האופציה השניה, מסתבר, היא די פשוטה, והיא אפילו רצויה במידה שחסר לכם לחצן אקזוטי, דוגמת כזה שישתמש בפקודה web כדי לפתוח עבורכם את אתר האינטרנט של אוהדי מכבי פתח תקוה.


כשאני עומד לספר ללקוחות על האופציה להוסיף לחצן לסביבת MATLAB, אני בדרך כלל מתחיל בשאלה "האם אתם יודעים כיצד ניתן לבצע clear all, close all ו-clc בלחיצה אחת?". אנשים בדרך כלל לא יודעים כיצד לעשות זאת, למרות שכבר הייתי עד מספר פעמים לתשובה המקורית "פשוט לוחצים על ה-X הקטן בצד ימין למעלה". במקרה שאני מקבל את התשובה הזו, אגב, אני משנה את השאלה ל"איך ניתן לבצע את שלוש הפעולות בלחיצה אחת ולהמשיך לעבוד בסביבת MATLAB"... והתשובה – שימוש ב-Shortcuts.


Shortcuts, או קיצורי דרך, אינם דבר חדש ב-MATLAB,
ועדיין – רבים לא מודעים ליכולת שלהם להריץ בלחיצת עכבר אוסף של פקודות או סקריפטים שהם מקישים מידי יום או מידי שעה. בין אם זה clear all + close all + clc, פתיחת מספר M-Files, מעבר ממחיצה אחת למחיצה אחרת או גישה מהירה מתוך ה-MATLAB לאתר האינטרנט של קבוצת הכדורגל האהודה – Shortcuts הם הפתרון.


אז איך יוצרים Shortcut?
כדי להוסיף קיצור דרך, יש ללחוץ על המקש הימני של העכבר כשהסמן מעל ה-Shortcuts Bar, השורה השנייה מתחת לשורת התפריטים.



ואז, יש לבחור ב-New Shortcut. בחלון שייפתח אפשר לתת שם לקיצור הדרך, לבחור תמונה שתוצג לצד השם הזה בשורת ה-Shortcuts, וכמובן – לכתוב קוד MATLAB או שם של M-File שהייתם רוצים שיתבצע כשתלחצו על הלחצן. בדוגמה למטה, למשל, יתבצעו שלוש פקודות הניקוי שהוזכרו קודם, יחד עם פקודה הסוגרת מודלים פתוחים של Simulink.




ובדוגמה הבאה, למשל, תתבצע פתיחה של אתר האינטרנט שהוזכר קודם:


כפי שבטח שמתם לב, אפשר ליצור קיצורי דרך רבים. וברגע שיהיו לכם יותר מידי קיצורי דרך, תמיד תוכלו לארגן אותם באמצעות ה-Shortcuts Organizer האינטואיטיבי, אליו ניתן להגיע או דרך קליק ימני על שורת ה-Shortcuts (כמו קודם), או דרך תפריט ה-Start של MATLAB בפינה השמאלית התחתונה של התוכנה (ראו צילום מסך למטה). לחצן ה-Start, אגב, מאפשר גישה נוחה לעוד כלים שימושיים ותפריטים חשובים, אבל אותו אני כבר אשאיר לכם לחקור לבד.

האם שמתם לב ל-Start של MATLAB לפני הפוסט הזה? אילו Shortcuts מעניינים יש לכם? האם הכרתם את פקודת web? ומה לגבי bdclose all? ואיזו קבוצה אתם אוהדים?

יום שבת, 6 במרץ 2010

מה חדש ב-MATLAB ? (חלק 2)

 תאים, רבותי, תאים
השבוע שוחחתי עם לקוח, לא אפרט מאיזו חברה, שהתעניין ביכולת לעבור בצורה אוטומטית מקוד 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? ומדוע לא עניתם על אף שאלה מתוך אלה ששאלתי בסוף הפוסט הקודם?

יום רביעי, 17 בפברואר 2010

מה חדש ב- MATLAB ?

לפעמים אנחנו כל כך עסוקים בלסיים את המשימות שעל השולחן במועד, כך שאנחנו לא מקדישים זמן לחשוב על דרכים לבצע אותן בצורה יעילה יותר
את שבוע העבודה הראשון שלי בחברת סיסטמטיקס, לפני יותר משלוש שנים, הקדשתי להתעדכנות בחידושים בכלי MATLAB ו-Simulink. אם להגיד את האמת, חשבתי שאוכל לסיים את המשימה תוך פרק זמן קצר, אולם מהר מאוד גיליתי כי על אף שבראיון העבודה הצהרתי שאני דובר שלוש שפות - עברית, אנגלית ו-MATLAB - יהיה עליי להקדיש לא מעט זמן לשיפור ידיעותיי בשפה השלישית. התחוור לי כי כל כך הרבה פקודות, לחצנים וממשקי משתמש גרפיים נוספו לכלים במהלך השנים, ואני, שהייתי עסוק בלסיים את המשימות שלי במועד, לא הקדשתי זמן להתעדכנות בחידושים שהיו יכולים לגרום לי לסיים את העבודה אפילו לפני הדד-ליין.

חברת The MathWorks, מפתחת הכלים MATLAB ו-Simulink, מוציאה גרסת מוצרים
חדשה פעמיים בשנה, ואותה זכאים לקבל הלקוחות אשר נמצאים תחת חוזה שירות (אשר מקנה גם את הזכות לקבלת תמיכה טכנית).

הגרסה האחרונה, R2009b, יצאה בתחילת חודש ספטמבר 2009, והיא מכילה
עדכונים ל-85 מכלי The MathWorks, וביניהם – MATLAB 7.9 ו – Simulink 7.4. המשתמשים מצאו 420 באגים בגרסאות הקודמות והם תוקנו בגרסה החדשה (תודו שהיה לכם כיף למצוא אותם...),  ו-580 פיצ'רים חדשים התווספו. בפוסטים הקרובים נדון בכמה מהחידושים בגרסה האחרונה של כלי The MathWorks, אבל עוד קודם לכן – נעסוק במספר "חידושים ותיקים" שאני בטוח שרבים מכם בכלל אינם מודעים אליהם. אלה מכם שכבר עובדים עם הכלים שנסקור את החידושים בהם מאוד יהנו מהקריאה, אבל גם מי שעדיין לא עובד עם כלים מסוימים יוכל ללמוד על היכולות שלהם.

אחד ממרכיבי המפתח של MATLAB, שמניסיוני לא רבים מודעים אליו, הוא ה- M-Lint Code Analyzer.  הכלי הזה, אשר מגיע כחלק מ-MATLAB, בודק את הקוד שהמשתמשים כותבים ב-editor ומחפש בעיות או מציע שינויים שאמורים לשפר את ביצועי האלגוריתם. אם הקוד שלכם "מושלם", תראו בפינה הימנית העליונה של ה-editor ריבוע ירוק. במקרה שיש לכלי הצעות לייעול האלגוריתם או להפיכתו לקוד שירוץ ללא הודעות שגיאה, תראו באותו מקום ריבוע כתום או אדום, בהתאמה.

הנה דוגמה לקוד בעייתי (ראו את הריבוע האדום בפינה הימנית העליונה של ה-editor):

בדוגמה הנ"ל, ה- M-Lint Code Analyzer מתריע על אי סיומה של שורה מספר 2 עם התו ";" (גורם לאי יעילות), על אי סגירת סוגריים בשורה 3 (דבר שימנע מהקוד לרוץ ללא הודעת שגיאה) ועל משתנה שמימדיו משתנים בתוך לולאה (גורם לאי יעילות).

מגרסה לגרסה מורחב מאגר הבעיות שהכלי הזה מסוגל לאתר, וההודעות שהכלי מציג הופכות ליותר ויותר ברורות, דבר שאמור להקל על המשתמשים כשהם מנסים להחליט אם לקבל את העצה שלו או לא. שימו לב שלעצלנים שבינינו יש אפשרות ללחוץ על כפתור ה-Fix המופיע בהודעה המלווה את שורה 2, ובך לחסוך חיפוש אחר התו ";" במקלדת. נקודה נחמדה נוספת היא העובדה שה-M-Lint Code Analyzer הוא כלי מאוד מנומס, ולראיה – קראו שוב את ההערה המלווה את שורה 3. הכלי לא מאשים אתכם ששכחתם סוגריים, הוא פשוט רומז בעדינות שקיים חוסר איזון בין תווי פתיחת הסוגריים ותווי הסגירה.

האם הכרתם את ה-M-Lint Code Analyzer לפני הפוסט הנוכחי? האם ידעתם של-The MathWorks יש מעל 80 מוצרים? יש חידוש מסויים שהייתם רוצים שארחיב עליו יותר בפוסט הבא? אם הייתם המפתחים של הגרסה העברית של MATLAB, 
איך הייתם מעירים למשתמש שהוא שכח סוגריים?