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

יום שלישי, 28 בינואר 2014

מציאת עיגולים בתמונה

רבים מכירים את התמרת Hough המשמשת לצורך מציאת קוים ישרים בתמונה, ואשר ממומשת ב-Image Processing Toolbox באמצעות הפקודה Hough.
כידוע, ההתמרה הזו הורחבה לפני עשרות שנים כך שתוכל לשמש לצורך מציאת צורות שרירותיות שונות, לאו דווקא קוים ישרים, אלא למשל עיגולים.
לפני כשנתיים, בגרסת R2012a, נוספו ל-Image Processing Toolbox שתי פקודות המשמשות למציאת עיגולים בתמונה (imfindcircles) ולציור העיגולים אשר נמצאו (viscircles).
ננסה למצוא את העיגולים בתמונה הבאה ולהציגם (ניתן ללחוץ עליה כדי להגדילה):


בתמונה יש עיגולים במימדים שונים, ועל מנת לקבל תחושה לגבי טווח הקטרים שלהם, ניתן להיעזר בפקודה imdistline:
הפקודה מביאה להופעת סרגל מדידה הניתן להזזה ומתיחה/כיווץ (ראו על המטבע של חצי השקל), ובעזרת הכלי ניתן להסיק כי קוטר העיגול הגדול ביותר בתמונה (מטבע של חצי שקל) הוא כ-410 פיקסלים, כלומר – רדיוס העיגול הגדול הגדול ביותר הוא כ-205 פיקסלים. באופן דומה, רדיוס העיגול הקטן ביותר (מטבע של שקל) הינו כ-130 פיקסלים.
למרבה הצער, הפעלת הפקודה imfindcircles על התמונה תוך שימוש בתחום רדיוסים זה  אינה מניבה רשימה של מרכזי עיגולים ורדיוסים שלהם:
שתי סיבות לתוצאה העגומה הנ"ל. האחת הינה שברירת המחדל של הפקודה היא לחפש עיגולים אשר בהירים יותר מהרקע, וזה לא המצב בתמונה הנ"ל, ועל כן יש לשנות פרמטר בשם ObjectPolarity. אולם, מבדיקה, גם שינוי פרמטר זה אינו מספיק, ויש לשלוט על פרמטר נוסף בשם Sensitivity, הקשור למידת ה"מתירנות" של גלאי העיגולים (עד כמה הוא מוכן "לעגל פינות" ולהכריז על אובייקט מסויים כעיגול). הפרמטר מקבל ערכים בין 0 ל-1, וברירת המחדל שלו היא 0.85, ועל כן נגדיל את הערך הזה.
ניתן לראות כי הפקודה החזירה ארבעה מרכזים של עיגולים, ורדיוסים תואמים. על מנת לוודא שאכן מדובר במטבעות אשר בתמונה, ניתן להשתמש בפקודה viscircles כדי לצייר עיגולים סביב אותם מרכזים, ברדיוסים המתאימים, והנה התוצאה:
לשתי הפקודות, imfindcircles ו-viscircles פרמטרים נוספים שכדאי להכיר, ועל כן מומלץ להיעזר בתיעוד שלהן. לחצו לתיעוד של  imfindcircles ולתיעוד של viscircles .

יום שלישי, 1 בינואר 2013

אז מה היה לנו ?

הבלוג MATLAB with Fun יחגוג בחודש הבא 3 שנים להיווסדו, וזה זמן טוב לעשות כמה סיכומים.

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

בין היתר, יכלתם לקרוא ב-2012 על החידושים בכלי MATLAB ו-Simulink בשתי הגרסאות שיצאו במהלכה (R2012a, R2012b), על יכולות של כלים שונים (כלי אופטימיזציה, כלים לשוק הפיננסי, Wavelet ,SimEvents וכו'...) ועל דרכים ליעל את שיטות העבודה, הקוד והסימולציות שלכם
(System Objects, Simulation Data Inspector, Model Referencing, האצת ביצועים באמצעות FPGA וכו'...). ואפילו יכלתם להוריד קוד MATLAB המסמלץ את פעולת מערכת כיפת ברזל !

העלאת מספר הפוסטים בחודש הביאה לעלייה מרשימה בנתוני הגלישה בבלוג, על פי אתר Google Analytics. בהשוואה ל-2011, חלה ב-2012 עליה במספר הביקורים
בבלוג (31%), במספר המבקרים הייחודיים בו (37%), במספר הדפים הנצפים
בו (33%), בזמן הביקור הממוצע באתר (17%) ובמספר התגובות (88%, הפוסט הכי מטוקבק, אגב, הוא "גילוי פנים בעזרת MATLAB" – קיבל 11 תגובות בחצי שנה).

לפני כשלושה חודשים, הבלוג אפילו הוזכר במסגרת הבלוג "MATLAB Spoken Here" של חברת MathWorks, בפוסט שעסק בקהילות MATLAB ברחבי העולם !

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

1. כנגד ארבעה System Toolboxes דיברה תורה (פורסם לפני 20 חודשים)

2. כל המוסיף גורע מזמן הריצה (פורסם לפני 18 חודשים)

3. כיפת ברזל (פוסט של אריאל רובננקו שפורסם לפני 12 חודשים)

4. מה חדש ב-MATLAB ו-Simulink בגרסת R2012a ? (פורסם לפני 10 חודשים)

5. MATLAB 8 ו-Simulink 8 כבר כאן ! (פורסם רק לפני 4 חודשים וכבר במקום החמישי, מסתמן כלהיט היסטרי...)

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

יום רביעי, 5 בדצמבר 2012

שובם של ה-System Objects

בשלוש שנות קיומו של הבלוג הזה, השתדלתי כמה שפחות למחזר פוסטים. אבל בפוסט הנוכחי אחרוג ממנהגי, מכמה סיבות:
1. חלפו שנתיים וחצי מאז הפוסט האחרון בנושא שבו ארצה לדון
2. בתקופה הזו הנושא התפתח מאוד
3. חברת MathWorks רואה בנושא הזה מרכיב חשוב בתוכניותה לעתיד
4. מעט מאוד אנשים נחשפו לנושא הזה עד כה (בכל פעם שאני שואל את הקהל שאני ניצב מולו האם אנשים מכירים את הנושא, בודדים, אם בכלל, משיבים "כן").

הנושא הינו System Objects, אלגוריתמים העומדים מאחורי אובייקטים הקיימים בסביבת MATLAB כבר 6 גרסאות (מאז גרסת R2010a). כשכתבתי על כך לפני שנתיים וחצי, היו קיימים רק כ-140 אובייקטי מערכת, ורק בתחומים עיבוד אות, עיבוד וידאו, עיבוד תמונה וראיה ממוחשבת. כיום, קיימים כבר כ-330 אובייקטי מערכת, המשמשים ל:
1. עיבוד אות - מעל 95 אובייקטי מערכת ב-DSP System Toolbox
2. עיבוד וידאו, עיבוד תמונה וראיה ממוחשבת - מעל 60 אובייקטי מערכת ב-Computer Vision System Toolbox
3. פיתוח השכבה הפיזית של מערכות תקשורת - מעל 105 אובייקטי מערכת ב-Communications System Toolbox
4. תכנון, סימולציה וניתוח של מערכות מכ"מ, מערכות Ultrasound ומערכות תקשורת מרובות-אנטנות - מעל 60 אובייקטי מערכת ב-Phased Array System Toolbox

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

להבדיל מפונקציות MATLAB, אשר הינן מסוג "y שווה לפונקציה של x", ה-System Objects מסוגלים לעבוד עם קלט משתנה (Streams) וכן מסוגלים לספק מידע על המצבים הפנימיים של הפונקציה. בכך הם מרחיבים את שפת MATLAB באופן המאפשר למדל מערכות דינמיות באמצעות שפה טקסטואלית, ומהווים מעין "גשר" המקשר בין MATLAB ל-Simulink. כמובן שאם כתבתם אלגוריתם ב-MATLAB העושה שימוש ב-System Objects, אתם מוזמנים לנסות להכניס אותו לתוך בלוק ה-MATLAB Function ב-Simulink על מנת לשלבו כחלק ממודל בסביבה הזו.

מבחינת ביצועים – נניח ואתם מעוניינים לבצע Edge Detection לפריימים השונים בסרטון וידאו. בעוד ששימוש בפונקציית edge בתוך לולאה העוברת בין הפריימים השונים יהיה כרוך בקריאה לאותה פונקציה בכל פעם מחדש (דבר אשר כרוך באיתחולים חוזרים ונישנים), עבודה עם אובייקט המערכת vision.EdgeDetector ומתודת step אמורה להיות יעילה יותר. בנוסף, כמה System Objects המשתייכים ל-Communications System Toolbox ול-Phased Array System Toolbox ניתנים להאצה על ידי שימוש ב-GPU (הכרטיס הגרפי של המחשב), תוך שינוי מזערי של הקוד הכתוב.  אם כך, System Objects אמורים להביא לקיצור זמני הריצה של אלגוריתמים ! 

System Objects עשויים להקל על אלה מכם המנסים לבצע סימולציות Fixed-Point בסביבת MATLAB, וכן על מי שמנסה להמיר בקלות קוד MATLAB לקוד C או HDL. כבר כיום יש תמיכה ביצירת קוד C/HDL מתוך מגוון System Objects - למשל, כל
ה-System Objects שבגרסת R2012b של ה-Communications System Toolbox נתמכים ליצירה אוטומטית של קוד C. בהקשר זה, חשוב לציין כי החל מגרסת R2011b יכול כל אחד לפתח System Objects משלו, אשר יוכלו להתממשק אל אלה שפיתחה MathWorks, והחל מגרסת R2012a ניתן להמיר לקוד C כאלה אובייקטי מערכת שהמשתמש פיתח.


System Objects הוא נושא שאני ממליץ לכל אחד להתחיל ללמוד אותו וליישם אותו, שכן כבר היום הם נכללים בחלק גדול מכלי MathWorks - פרט להיותם חלק ממשפחת ה-System Toolboxes (אותם ארבעה כלים שהוזכרו לעיל ואשר קיימים מגרסת R2011a), יש כיום אובייקטי מערכת גם בכלים Image Acquisition Toolbox (אובייקט המאפשר רכישת תמונה הנתמך ליצירה אוטומטית של קוד C) ו-HDL Verifier (אובייקט המאפשר לבצע סימולציות FPGA-in-the-loop תוך שימוש ב-MATLAB ו-FPGA בלבד). וכפי שנכתב קודם, MathWorks מתכוונת להמשיך לפתח את הנושא הזה בשנים הבאות.

לרשימת ה-System Objects בארבעת ה-System Toolboxes המוזכרים לעיל, לחצו על הקישורים הבאים:
DSP
Computer Vision
Communications
Phased Array

יום שני, 15 באוקטובר 2012

הבחירות כבר כאן | אפשר לבחור בין שתי טכנולוגיות של SimMechanics

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

אם אתם משלבים מערכות מכניות/אלקטרוניקה/בקרה או עובדים בתחום המכשור התעשייתי, בתעשייה הבטחונית, בתעשיית הרכב, בתחום המכשור הרפואי או בעולם הרובוטיקה - כדאי לכם להמשיך לקרוא. בגרסת R2012a בוצע עדכון משמעותי למוצר SimMechanics, ונוספה לו טכנולוגיה המהווה למעשה תחליף מלא לטכנולוגיה הישנה של המוצר הזה. כיום, מוצר זה כולל את שתי הטכנולוגיות, תחת שתי ספריות שונות, והמשתמשים יכולים לבחור באיזו גרסה לעבוד (השמות שלהן הם 1G עבור הטכנולוגיה הישנה ו-2G עבור החדשה). פוסט זה יעסוק בעיקר בטכנולוגיה החדשה.

רק רגע, מה זה בכלל ה-SimMechanics הזה?

SimMechanics הוא חלק מכלי המידול הפיסי של MathWorks, ואחד מהכלים הותיקים שלה (משנת 1996 לערך). מטרת המוצר הזה היא להקל על מידול וסימולציה של מערכות מכניות קשיחות תלת-מימדיות. הדוגמה הפשוטה ביותר היא זרוע רובוטית – כלומר מספר חלקים מכניים המחוברים ביניהם במפרקים סיבוביים – היכולה לנוע במרחב התלת-מימדי. SimMechanics מאפשר לאפיין את החלקים השונים (מסה, אינרציה ותכונות מכניות אחרות), את צירי החופש והתנועה (סיבוב, תנועה קווית, בורג וכו'), את הסביבה (גרביטציה למשל) ואת האינטראקציה עם הסביבה (כוחות המופעלים על החלקים, חיכוך/שיכוך ועוד). והיתרון הגדול ביותר של SimMechanics הוא שהכלי מאפשר למתכנן להתמקד ב"בעיה" ולא ב"מתמטיקה". כלומר במקום לכתוב הרבה נוסחאות – פשוט גוררים בלוקים, מחברים אותם ולבסוף מריצים את הסימולציה, וכל המשוואות נפתרות בעזרת המנוע של SimMechanics "מאחורי הקלעים".

למה MathWorks הוסיפה טכנולוגיה חדשה לכלי?

הטכנולוגיה הישנה פותחה בצורה מאד בעייתית, שהקשתה על הוספת יכולות ומודולים חדשים שביקשו המשתמשים בכלי (ויזואליזציה טובה יותר, יכולות של שילוב גופים גמישים, הוספת מתמטיקה של "התנגשויות" בין חלקים וכו'). לאנשי הפיתוח של MathWorks לקח הרבה זמן לעשות אפילו שדרוג קטן במוצר, ולכן במקום להמשיך ולהשקיע את הזמן הזה, הוחלט לעשות "cut" ולהחליף את כל המנוע המתמטי במנוע חדש, אשר נעזר בטכנולוגיה של Simscape – התשתית לכל כלי המידול הפיסי של MathWorks.

מה החידושים בטכנולוגיה החדשה?

• הגדרה פשוטה ונוחה יותר של גופים - יש מגוון של גופים מוכנים (גליל, אליפסה, כדור וכו').

• חישוב מסה ואינרציה בצורה אוטומטית ופשוטה.

• המערכת רצה חלק ומהר יותר.

• הגדרה של צירים ותנועה יכולה להיעשות ישירות באמצעות MATLAB – לרבות שילוב של "קדחים" בגוף. הדבר מאפשר יכולות הקיימות בתוכנות תיב"מ (במידה ואין אחת זמינה).

• חיבור גופים בסיסיים ליצירת אחד חדש, ללא שימוש ב"ריתוך" ביניהם. אין צורך להגדיר משוואות.

• אנימציה משופרת באמצעות ה-Mechanics Explorer, אשר בין יתרונותיה:
.     o מספר Views שונים בו-זמנית.
.     o האנימציה נשמרת ללא צורך בהרצה חוזרת של המודל.
.     o אפשר לשלוט על מהירות העדכון של האנימציה, אפשר לעשות Rewind, להריץ צעד-צעד וכו'.
.     o שמירה של סרטונים.
.     o "עץ גרפי" של חיבור החלקים וכיצד הם משוייכים אחד לשני, המזכיר את ה-Browser של Windows.

• שמירה אוטומטית (Logging) של כל הנתונים של ריצת הסימולציה, ללא חיבור חיישנים וסנסורים!

• דרגות החופש (ה-Joints) מכילות כבר בתוכן את החיישנים, ולכן אין צורך בהרבה בלוקים חיצוניים.

• ניתן לחבר בין בלוקים של הגרסה הישנה לבלוקים של הגרסה החדשה – עם כמה מגבלות.

מה המגבלות בהשוואה לגרסה הקודמת?

נכון לגרסה השניה של הטכנולוגיה החדשה (זו שנכללת בגרסת R2012b של כלי MathWorks) מרבית היכולות הקיימות בטכנולוגיה הישנה קיימות גם בחדשה. בגרסה השניה, למשל, ניתן כבר לייצר קוד C מתוך המודלים (באמצעות ה-Simulink Coder) ואף ניתן לייבא מודלים מתוך תוכנת תיב"מ (כמו SolidWorks).

עם זאת עדיין יש מספר חוסרים:
1. מגוון נמוך יותר של Joints (דרגות חופש).
2. לא ניתן להגדיר תנועה, ואז לפתור את הבעיה ההופכית, אלא רק להפעיל באמצעות כוחות.
3. אין שיטה אוטומטית לשדרוג מודלים מהטכנולוגיה הקודמת לחדשה, אך אנשי הפיתוח עובדים על כך.

 לסיכום, יותר מאי פעם, השימוש ב-SimMechanics מאפשר כעת:

• חסכון אדיר בזמן – במקום לכתוב משוואות ניתן פשוט לחבר חלקים.

• יבוא מודלים קיימים מתוכנת תיב"מ, לשם יצירת מודל מערכתי רחב יותר, הכולל גם מערכות אלקטרוניות ומערכות בקרה.

• שימוש חוזר במודלים שפותחו בעזרת כלי זה.

• ויזואליזציה מדהימה המאפשרת לראות בדיוק מה קורה בכל שלב נתון.

• בחירה בין שתי טכנולוגיות שונות.

• חיבור פשוט ל-MATLAB, Simulink ו-Simscape.

• אפשרות למקבל סימולציות, להשתמש בסקריפט לשינוי פרמטרים ולייצר קוד C מתוך המודלים.


האם אתם משתמשים ב-SimMechanics ? אם כן, האם כבר עברתם לטכנולוגיה החדשה ?

יום שלישי, 21 באוגוסט 2012

כלי כלי

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

באילו מהכלים המופיעים במסמך אתם משתמשים? האם הופתעתם לגלות כלים שלא חשבתם שקיימים?

* המסמך מעודכן נכון לגרסת R2012a, וכמו שאומרים - טעות לעולם חוזרת...

יום ראשון, 1 ביולי 2012

גילוי פנים בעזרת MATLAB

בגרסת R2011a של כלי MathWorks נוסף למשפחת המוצרים כלי חדש – Computer Vision System Toolbox, או בקיצור - CVST. כלי זה משמש לתכנון וסימולציה של מערכות ראיה ממוחשבת ועיבוד וידאו, באמצעות שלוש דרכים:

1. בלוקים לעיבוד וידאו וראיה ממוחשבת בסביבת Simulink – מדובר למעשה בבלוקים שהרכיבו את הכלי שנקרא בעבר Video and Image Processing Blockset
2. סיסטם אובג'קטס - אשר מאפשרים גישה לחלק משמעותי מאותם הבלוקים המוזכרים לעיל, אך ללא צורך ברישיון Simulink או בידע בעבודה עם Simulink
3. אלגוריתמים יעודיים חדשים לראיה ממוחשבת

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

System Objects קיימים ב-MATLAB כבר מאז R2010a, ונידונו כאן בעבר. אחד מה-System Objects החדשים שנוספו בגרסת R2012a של ה-CVST הוא ה-CascadeObjectDetector, המאפשר לבצע גילוי פנים באמצעות אלגוריתם Viola-Jones. שימו לב שלא מדובר בזיהוי פנים, אלא בגילוי פנים (יודעים שיש פנים בתמונה, לא יודעים של מי הפנים). בנוסף, חשוב להדגיש שהאלגוריתם גם יכול לסייע במציאת אלמנטי גוף אחרים, שאינם פנים – למשל: עיניים, אף, פה או פלג גוף עליון.

האלגוריתם ממומש בצורה של System Object על מנת שיוכל לאפשר גילוי של פנים בסדרת תמונות או בסרט וידאו, ולא רק בפריים בודד. כפי שניתן לראות בדוגמה, הפלט של הפעלת האלגוריתם (באמצעות המתודה step) על גבי תמונה (של חברי הצוות שפיתח את ה-CVST) הינו מערך של bounding boxes – ריבוע סביב כל פנים שזוהו בתמונה. ואת הריבועים הללו ניתן לצייר על התמונה באמצעות ה-System Object של ShapeInserter.

קוד המדגים גילוי פנים (לחצו להגדלה)

חשוב להדגיש שהחל מגרסת R2012a, הכלי היחיד (פרט ל-MATLAB) שנדרש לצורך הפעלת ה-CVST הוא ה-Image Processing Toolbox (עד אז היה צורך גם ב-DSP System Toolbox וב-Signal Processing Toolbox). למידע נוסף על יכולות עיבוד הוידאו בסביבת MATLAB באמצעות ה-CVST, ה-Image Processing Toolbox וה-Image Acquisition Toolbox, לחצו לצפיה בסרטון של 5 דקות.

ואפרופו גילוי פנים – נחשפתי לאחרונה לכתבה נחמדה בנושא הדרכים להתחמקות מגילוי הפנים שלכם על ידי הטכנולוגיות הקיימות.

האם ידעתם על היכולת לבצע גילוי פנים באמצעות ה-CVST? האם בכלל הכרתם את ה-CVST?

יום חמישי, 15 במרץ 2012

מה חדש ב-MATLAB ו-Simulink בגירסת R2012a ?


בתחילת מרץ שוחררה גירסת R2012a של כלי MathWorks, המכילה יכולות חדשות ב-MATLAB ו-Simulink, וכן עדכונים לעשרות כלים אחרים.


בין היכולות החדשות במשפחת מוצרי MATLAB :

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

Image Processing Toolbox – התווספה יכולת לבצע רגיסטרציה אוטומטית של תמונות בעזרת intensity-metric optimization, וכן נוספו פונקציות למציאת מעגלים בתמונה והצגתם.

Computer Vision System Toolbox – הכלי המקל על תכנון וסימולציה של מערכות ראיה ממוחשבת ומערכות עיבוד וידאו ותמונה תומך כעת גם בגילוי פנים באמצעות אלגוריתם Viola-Jones, גילוי פיצ'רים בשיטת MSER, עקיבה בגישת CAMShift וחישוב Integral Image. הכלי אינו מצריך עוד את ה-DSP System Toolbox וה-Signal Processing Toolbox לצורך פעולתו.

Image Acquisition Toolbox – הכלי המאפשר להזין בקלות את סביבות MATLAB ו-Simulink במידע ויזואלי (וידאו/תמונה) על ידי מגוון מצלמות ו-frame grabbers כולל כעת System Object הניתן להמרה אוטומטית לקוד C באמצעות ה-MATLAB Coder.

MATLAB Compilerה-MCR ניתן כעת להורדה מהאינטרנט, דבר המקל על הפצת אפליקציות וקומפוננטות מקומפלות לעמדות בהן אין התקנה של MATLAB. מעבר לכך, הכלי תומך במספר פונקציות נוספות המשתייכות ל-Computer Vision System Toolbox.

MATLAB Coder – הכלי המאפשר המרה ישירה של קוד MATLAB לקוד C מאפשר כעת גם המרה של System Objects שפותחו על ידי המשתמש.

HDL Coder – הכלי, אשר נקרא בעבר Simulink HDL Coder ואיפשר המרת מודלי Simulink לקוד HDL, מאפשר כעת גם המרה ישירה של קוד MATLAB לקוד HDL מטיפוס Fixed-Point לצורך קבלה מהירה של אבטיפוס ולשם מימוש אלגוריתמים על רכיבי ASIC ו-FPGA. הנ"ל אמור גם לגבי System Objects. הכלי אינו מצריך עוד Simulink Fixed-Point או Simulink לצורך פעולתו (דורש רק MATLAB Coder ו-Fixed-Point Toolbox).

HDL Verifier – מאפשר שימוש חוזר ב-test benches קיימים ב-MATLAB ו-Simulink לצורך וריפיקציה של קוד HDL על ידי קו-סימולציה עם סימולטורי HDL או בדיקות hardware-in-the-loop עם רכיבי FPGA. הכלי מחליף את ה-EDA Simulator Link וכולל כעת תמיכה בביצוע בדיקות hardware-in-the-loop גם לרכיבי FPGA של חברת Altera (חמישה-עשר דגמי FPGA של Altera ו-Xilinx נתמכים).

Statistics Toolbox – מכיל ממשק משופר לביצוע התאמה, חיזוי והצגה באמצעות רגרסיה לינארית, לינארית-מוכללת, ולא-לינארית.

Communications System Toolbox – מכיל כעת מודלים לערוצי LTE MIMO, ומאפשר ניצול של הכרטיס הגרפי (GPU) שבמחשב לצורך האצת סימולציות של מגוון System Objects הרלוונטים לתכנון, סימולציה וניתוח השכבה הפיזית
 (Physical Layer) של מערכות תקשורת.

Parallel Computing Toolbox – מאפשר כעת האצת ביצועים של מגוון פונקציות ה-FFT (על כל הסינטקסים שלהן) ופונקציות נוספות על ידי שימוש בכרטיס הגרפי (GPU) שבמחשב. בנוסף, פונקצית arrayfun שודרגה.



בין היכולות החדשות במשפחת מוצרי Simulink :

Simulink – מאפשר כעת הרצה של מודלים על חומרה זולה דוגמת LEGO MINDSTORMS NXT ו-BeagleBoard ישירות מתוך Simulink. בנוסף, חלון ה-editor של בלוק ה-MATLAB Function משולב כעת עם חלון ה-editor הרגיל של MATLAB, הורחבה התמיכה במערכות source control באמצעות ה-Source Control Adapter SDK, נוספה היכולת להוסיף legends בבלוק ה-Scope, הצטרפה האפשרות לשמור מודלים וספריות בפורמט הקבצים החדש של Simulink הנקרא SLX (חוסך מקום בזיכרון, מספק מידע רב למערכות הצגת קבצים, חוסך בזמן ביישומים מסוימים, וצפוי להיות הפורמט היחיד החל מ-R2012b) והתווסף ה-Signal Hierarchy Viewer.

Simulink Verification & Validation – לכלי המאפשר, בין היתר, שמירה על עקביות במודל אותו מפתחים, נוספה יכולת להחריג בלוקים ותת-מערכות כך שלא ייבדקו על ידי ה-Model Advisor, דבר אשר מקצר את משך פעולתו.

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

Real-Time Windows Target – מאפשר הרצת מודלים של Simulink ב-
real-time בסביבת Windows תוך שימוש ב-Normal Mode, לצורך rapid prototyping או בדיקות hardware-in-the-loop
. כלומר, הכלי אינו מצריך עוד את ה-MATLAB Coder וה-Simulink Coder לצורך פעולתו, שכן פרט ל-External Mode, ניתן להשתמש כעת גם ב-Normal Mode.


עוד משהו?

מידע נוסף על החידושים הללו ועל יתר היכולות שהתווספו ניתן למצוא בעמוד הגרסה באתר MathWorks.

האם הורדתם כבר את הגרסה החדשה? איזו יכולת חדשה שצוינה למעלה שימושית במיוחד עבורכם? האם יש חידוש שגיליתם שלא הופיע למעלה?