יום רביעי, 27 בינואר 2016

MATLAB ו-ThingSpeak - הבסיס ל-Internet of Things

Internet of Things (או בקיצור, IoT) היא מגמה שבמסגרתה מספר הולך ועולה של התקנים הופכים להיות מחוברים לאינטרנט, כאשר עם ההתקנים המחוברים האלה מתקשרים אנשים או התקנים אחרים. אני מתכבד לארח בבלוג את רוני פאר, מנהל צוות מהנדסי האפליקציה בחברת סיסטמטיקס, לפוסט מיוחד פרי עטו (או מקלדתו...) בנושא הקשר בין MATLAB ו-IoT:

דמיינו לעצמכם נער בן 14 מדרום אמריקה שבונה חיישן סיסמי לחיזוי רעידת אדמה שעולה פחות ממאה דולר. החיישן הזה עולה לרשת, משוכפל ע"י מאות ואלפי אנשים, וכעת אנשים ביבשת שלמה זוכים להתרעה של כ-15 דקות לפני התרחשות רעידת אדמה. 15 דקות שבהן אנשים יכולים לצאת מבניינים, למצוא מחסה, ולהציל את חייהם !

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

והאם אתם מסוגלים לדמיין חברה שמשתמשת בחיישנים הפזורים במבני ענק לצורך ניטור הטמפרטורה, הלחות ועומס האנשים בבניין, על מנת לייעל את נצילות האנרגיה של מערכות החימום ומיזוג האוויר של הבניין, וכך לחסוך קרוב ל-25% מצריכת החשמל ?

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

- רכישת המידע ע"י חיישני הקצה (או Edge Nodes),
- איסוף ואגירת המידע במערכת איסוף הנתונים (או Data Aggregator),
- ניתוח המידע ושימוש בו לצורך פיתוח אלגוריתמים, הצגתו ואף עדכון פעולת חיישני הקצה.

אלו מכם שעושים כיום שימוש ב-MATLAB או Simulink, בוודאי מכירים את היכולת לייצור קוד המותאם למערכות Embedded, כדוגמת אלו שמשמשות לחיישני הקצה. "דברים" רבים היום ממומשים על גבי חומרה זולה כמו Arduino, Raspberry Pi, ARM ובעזרת MATLAB ו-Simulink ניתן להגדיר אותם, לתכנן עבורם אלגוריתמיקה רצויה, לשלוט על אופן פעולתם, ואף לחברם למערכות נוספות. וכל זאת – בחינם. רק צריך להוריד את חבילת התמיכה המתאימה (Hardware Support Package) מהאתר של MathWorks או ישירות מתוך MATLAB באמצעות תפריט ה-Add-Ons שהתווסף לפני כשנתיים לתפריטים של התוכנה.

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

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


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

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

יום רביעי, 16 בדצמבר 2015

מערכות הפעלה, ארכיטקטורות, עננים ו-MATLAB


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

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

Microsoft הגבירה את קצב שחרור הגרסאות של מערכת ההפעלה Windows (Windows 8/8.1/10) וגם שחררה פלטפורמת ענן חדשה בשם Azure. מלבד השינויים שחלו במערכת ההפעלה Windows, שוחררו גם גרסאות חדשות של Red Hat Enterprise Linux 7 ו-SUSE Linux Enterprise 12. גם Apple לא קפאה על השמרים ושחררה לאחרונה גרסאות חדשות של MAC OS X (10.10 ו-10.11).

מהפכה נוספת שקרתה בעולם המחשוב בשנים האחרונות היא המעבר הכמעט בלעדי למערכות הפעלה מבוססות על ארכיטקטורת 64 ביט. הסיבות למעבר נובעות בעיקר מחוסר תמיכה של מערכות הפעלה מבוססות 32 ביט במעל ל-4GB זיכרון RAM. אומנם מצב זה אינו אבסולוטי, ועדיין ניתן לעבוד על גבי מערכות הפעלה מבוססות 32 ביט, אך השימוש בהן הולך ופוחת.

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

לאור השינויים המתוארים למעלה, גם חברת MathWorks החלה בהתאמת מוצריה לעולם המחשוב המשתנה. להלן השינויים שחלו בגרסאות האחרונות של MATLAB בהקשר הזה, והשינויים שיחולו בגרסאות הבאות:

Windows:
·         MATLAB R2015b הינה גרסת ה-MATLAB האחרונה שנתמכת להתקנה על גבי מחשבים עם מערכות הפעלה Windows בארכיטקטורת 32 ביט. MATLAB R2016a תהיה זמינה למערכות הפעלה Windows בארכיטקטורת 64 ביט בלבד. הדבר תקף גם לגרסאות של MATLAB Runtime (MCR) , לתוצרים של MATLAB Compiler ולתוכנה לניהול רישיונות רשת של MATLAB. יצוין כי תמיכה בארכיטקטורת 32 ביט על גבי לינוקס נזנחה עוד ב-MATLAB R2012b, ותמיכה ב-32 ביט תחת MAC OS X נזנחה עוד ב-MATLAB R201b.
·         הגרסה האחרונה ביותר של MATLAB הזמינה להתקנה על גבי Windows XP הינה MATLAB R2015a. גרסאות חדשות יותר של MATLAB אינן ניתנות להתקנה על גבי Windows XP.
·         MATLAB R2015a הינה הגרסה הנמוכה ביותר של MATLAB הנתמכת להתקנה על גבי Windows 10.

Linux:
·         MATLAB R2013a הינה הגרסה העדכנית ביותר של MATLAB הנתמכת להתקנה תחת Red Hat Enterprise Linux 5.
·         MATLAB R2014b הינה הגרסה הראשונה של MATLAB הנתמכת להתקנה תחת Red Hat Enterprise Linux 7.

MAC OS X:
·         MATLAB R2014b הינה הגרסה הראשונה של MATLAB הזמינה להתקנה על גבי MAC OS X 10.10
Cloud:
·         בשנת 2015 חברת MathWorks שחררה רישיון מיוחד המיועד להתקנה על מחשבים הנמצאים על פלטפורמות ענן. שמו של הרישיון הוא LNU (Login Named User). רישיון זה מסוגל לפעול ללא אקטיבציה ומיועד לרישיונות אינדיבידואליים של MATLAB. הפעלת MATLAB תחת רישיון זה אפשרית כאשר משתמש התוכנה מחובר לרשת האינטרנט ומבצע הזדהות עם שם משתמש וסיסמה בזמן הפעלת התוכנה (המשתמש חייב להיות בעל רישיון MATLAB).

למידע נוסף על MATLAB בענן והגדרת הרישיון האינדיבידואלי של MATLAB כרישיון LNU, ניתן לפנות לקישור הבא (מצריך חשבון באתר MathWorks):

לדרישות המערכת של גרסת ה-MATLAB העדכנית בכל הקשור לתמיכה במערכות הפעלה וגרסאות שונות של מהדרים – ניתן לפנות לקישור הבא:

לדרישות המערכת של גרסאות המ-MATLAB הקודמות, ניתן לפנות לקישור הבא:

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


יום חמישי, 26 בנובמבר 2015

על החשיבות של גמישות בתהליך הפיתוח

מאת: רועי פן, מהנדס אפליקציה בחברת סיסטמטיקס


בניהול מוצר מאוד אוהבים יכולת חיזוי, שכן היא מאפשרת תכנון מראש, אך מצד שני – בפיתוח מוצר יש גם צורך בחדשנות ויכולת תגובה מידית למגמות וצרכים בשוק.
חשוב להכניס גמישות מרבית לתהליך הפיתוח של מוצרים, כזו שתאפשר להתמודד עם שינויים בשלבים מאוחרים בצורה שלא תשבש את לוחות הזמנים ואת איכות המוצר, ולא תחייב השקעה כספית גדולה.
כלומר - המטרה היא לא לדכא את השינויים – אלא להשתמש בגישות אשר יהיו מסוגלות להכיל אותם !
ובדיוק בנושא הנ"ל, של תהליך פיתוח גמיש, קיימה החודש חברת סיסטמטיקס יום עיון בו השתתפו מובילי פיתוח מחברות שונות בישראל, מכל סוגי התעשייה, בהדרכתו של ד"ר פרסטון סמית' (Dr. Preston G. Smith) - המשמש כיועץ בתחום לחברות שונות, מחבר של שלושה ספרים בנושא תהליכי פיתוח וניהול פרויקטים, ומפעיל האתריםFlexibleDevelopment.com  ו- NewProductDynamics.com.

---

מבוא לגמישות

גמישות נחוצה כאשר הטכנולוגיה אינה ודאית (או משתנה בקצב מהיר), כאשר השוק חדש או לא מספיק ברור, כאשר סביבת השותפים לא יציבה, כאשר ייצור / הפצת / השימוש במוצר נתונים להשפעה של אירועים עולמיים, כאשר הלקוחות לא בטוח יודעים מה הם רוצים עד שהם פוגשים את המוצר, וכו'. יחד עם זאת – יש לבחור את הנקודות הספציפיות בתהליך הפיתוח בהם נדרשת גמישות, כיוון ש"גמישות אוניברסלית" הינה מאוד יקרה.
טכניקת גמישות "ותיקה" (משנת 2,000) ומוכרת היא Agile Software Development, אשר נוחלת הצלחות בפרויקטים קטנים, בעיקר בפרויקטי תוכנה.
בפיתוח מוצר (לא תוכנה) – יש צורך בטכניקה אחרת – כזו המאפשרת שילוב בין בניה מהירה של אב טיפוס (לצורך הצגתו ללקוחות וקבלת משוב מהם), מעקב אחר דרישות המתעדכנות כל הזמן ומתן מענה עליהן, ביצוע ניסויים וסימולציות לאורך כל שלבי הפיתוח (בדגש על השלבים המוקדמים בהם קל יותר וזול יותר לתקן בעיות) וגמישות מרבית. ו-Flexible Product Development היא בדיוק טכניקה שכזו !

---

לקוחות ודרישות לקוח

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

---

ביצוע ניסויים

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

---

כלי MathWorks ו- Flexible Product Development

MATLAB, Simulink וכלי MathWorks האחרים אותה מפיצה חברת סיסטמטיקס מאפשרים Flexible Product Development במספר רב של מובנים.
באמצעותם, למשל, ניתן לבצע מגוון בדיקות של what-if, ולבחור חלופת תכנון אופטימלית.
בגישת Model-Based Design, תוך שימוש בפלטפורמת Simulink – תהליך הפיתוח המסורתי הופך לתהליך איטרטיבי מהיר – המאפשר לבצע בקלות שינויים בתכנון.
ועם הכלים האוטומטים להמרת קוד MATLAB ומודלים של Simulink לקוד C / HDL – ניתן להשהות את הבחירה ב-Target ספציפי לשלבים מאוחרים מאוד בתהליך הפיתוח.
גמישות, כבר אמרנו ?

---

אז... עד כמה תהליך הפיתוח שלכם גמיש ?

המעוניינים בפגישה להערכת גמישות תהליך הפיתוח שלהם, ולבחינת התאמת כלי MathWorks לתהליך העבודה בחברה לצורך שיפור הגמישות בה – מוזמנים ליצור קשר באמצעות royf@systematics.co.il. זו גם הכתובת לאלה מכם הרוצים להשתתף בימי עיון דומים שתקיים סיסטמטיקס. 


יום חמישי, 29 באוקטובר 2015

מערכות תקשורת Wireless LAN - תכנון, סימולציה, ניתוח ובדיקה - באמצעות כלי חדש מבית MathWorks

לפני כשבועיים שחררה חברת MathWorks כלי חדש - WLAN System Toolbox - הכלי השני שלה שנועד מענה לתקן של תקשורת אלחוטית (הראשון היה ה-LTE System Toolbox).

הכלי מכיל מגוון פונקציות MATLAB שנועדו להקל על תכנון, סימולציה, ניתוח ובדיקה של מערכות תקשורת Wireless LAN (הפונקציות ניתנות להמרה אוטומטית לקוד C באמצעות ה-MATLAB Coder).

בין היכולות של הכלי, כפי שמסביר מהנדס האפליקציה רונן כהן העובד יחד עמי בחברת סיסטמטיקס והאחראי הטכני אצלנו על כלי MathWorks לפיתוח מערכות תקשורת:

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

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



יום רביעי, 30 בספטמבר 2015

חידושים בגרסת R2015b

גרסת R2015b של כלי MathWorks כוללת שדרוגים משמעותיים ל-MATLABSimulink ולעוד עשרות כלים.

להלן עיקרי החידושים והעדכונים בכלים השונים, כפי שרוכזו על ידי מהנדסי האפליקציה של סיסטמטיקס – אביאסף מוזס, יבגני רבוטניקוב, אסף בן-גל, מיכאל דוננפלד ומנהל בלוג זה:

MATLAB
  • האצת מהירות הריצה של קוד הודות לשיפור מנוע ביצוע הרצת הקוד (execution engine) על ידי שימוש ב-JIT  (just-in-time compilation). לחצו למידע נוסף.
  • ניווט וקיצורי מקלדת חדשים ב-Help מאפשרים מציאת אינפורמציה מהר יותר. לחצו לסרטון.
  • Add-on Explorer - כלי הוספת תוספות חיצוניות ל-MATLAB, המאפשר הורדה והתקנה של כלים וספריות (Packages) חיצוניים, מתוך ה-MATLAB, ללא צורך בהתקנה חיצונית. לחצו לסרטון.
  • פונקציות graph ו-digraph ליצירת גרפים ורשתות, ניתוחם והצגתם. לחצו לסרטון.
  • אפשרות להעביר את הצירים בגרף דרך הראשית. בתמונה למטה: מצד שמאל - המצב לפני הגרסה החדשה, מצד ימין - השינוי בגרסה החדשה. שורות קוד רלוונטיות מופיעות מתחת לגרפים (לחצו על התמונה להגדלה).

  • אובייקט ה-Datastore יכול להתממשק כעת למסדי נתונים המכילים תמונות, ולא רק קבצי טקסט.
  • התממשקות עם Python:
o        MATLAB מתוך Python – ניתן להפעיל את ה-MATLAB Engine מתוך סביבת Python ולהשתמש בכל הפונקציונאליות של MATLAB המאופשרת על ידי ה-MATLAB Engine.
o        Python מתוך MATLAB – ניתן להפעיל פונקציות Python ואף את סביבת ה-interpreter של Python מתוך סביבת ה-MATLAB.
  • הגרסה החדשה נתמכת להתקנה גם על גבי מערכת ההפעלה Windows 10, כמו קודמתה, אך אינה נתמכת להתקנה על Windows XP.
  • R2015b הינה גרסת ה-MATLAB האחרונה שתומכת במערכת הפעלה 32 ביט של Windows.  החל מהגרסה הבאה גם לא תהיה יותר תמיכה בהתקנה של מנגנון ניהול הרישיונות על גבי פלטפורמה זו.
  • עדכון רישיונות Concurrent ו-NNU לגרסה החדשה מחייב גם עדכון גרסה של מנגנון ניהול הרישיונות (FlexNet 11.13).


Image Processing Toolbox
  •         תמיכה בתכנון מסנני גאבור והפעלתם.
  •         מגוון פונקציות בתחומי העיבוד המורפולוגי והסינון רצות כעת מהר יותר.
  •         תוספת של 20 פונקציות לרשימת הפונקציות הניתנות להמרה לקוד C בעזרת MATLAB Coder – בין היתר, גם bwareaopen, imrotate, imcrop, imresize והתמרת Hough נתמכות כעת.


Computer Vision System Toolbox
  •  Optical Flow בעזרת שיטת Farneback , האוביקט נתמך להמרה לקוד C על ידי  MATLAB Coder
  • חילוץ פיצ'רים של local binary pattern (LBP) , גם כאן יש תמיכה להמרה לקוד C על ידי MATLAB Coder
  •  פרט לשתי היכולות החדשות המוזכרות, גם ארבע פונקציות אחרות ניתנות כעת להמרה לקוד C בעזרת MATLAB Coder, וביניהן detectCheckerboardPoints ו-insertText
  • האצת גילוי פיצ'רים של FAST תוך שימוש ב-GPU (מצריך Parallel Computing Toolbox)
  • התאמת ספירות, גלילים ומישורים לענני נקודות (Point Clouds) תלת-מימדיים תוך שימוש ב-RANSAC
  • ויזואליציה של ענני נקודות, כולל צפיה בענני מידע תלת-מימדיים המתקבלים בזמן אמת מסנסורים כמו Kinect (בעזרת הפקודה pcplayer)
  • שערוך וקטורים ניצבים בכל נקודה על ענן נקודות, בעזרת פקודת pcnormals


Statistics and Machine Learning Toolbox
  • הוספת יכולות ל- Classification Learner:
         o        ייבוא נתונים ישירות מקבצי טקסט, CSV, ועוד
         o        הוספת מודל קלסיפיקציה של Discriminant analysis
         o        הורדת מספר המימדים (Dimensionality reduction) בעזרת Principal component analysis (PCA)
  • ייצור קוד C/C++ עבור אלגוריתם Kmeans  (Unsupervised Learning) בעזרת MATLAB Coder
  • תוספת של למעלה מ-65 פונקציות לרשימת הפונקציות הניתנות להאצה תוך שימוש ב-GPU (מצריך Parallel Computing Toolbox)


Neural Network Toolbox
  •  יצירת רשת מסוג Deep Learning Neural Network.


Optimization Toolbox
  •         ממשק המשתמש עבור יצירת בעיות אופטימיזציה (optimtool) יוסר בגרסאות עתידיות.

Simulink
  • ממשק חדש לבלוק ה-Scope לשיפור הצפיה והדיבוג של מידע – ניתן לשלוט על התקדמות הסימולציה מתוך הבלוק, להוסיף טריגרים, להוסיף סמנים, לבצע מדידות ועוד. לחצו לסרטון.
  • בלוק קלט חדש לטעינת מידע מתוך קובץ Excel (לחצו למידע) ובלוק חדש ליצירת אותות כניסה (לחצו לסרטון).
  • תצוגת רשימה (List View) ל-Configuration Parameters, המאפשרת לבצע חיפוש של פרמטר אותו רוצים לשנות, וכוללת אופציה לסינון תוצאות החיפוש על פי קטגוריות. לחצו לסרטון.
  • כאשר גוררים בלוק מה-Library Browser ניתנת אפשרות לשנות את הפרמטר העיקרי שלו מבלי להיכנס לממשק המשתמש שלו
  • חקר קל יותר של ערכי הפרמטרים בבלוק. לחצו לפוסט בנושא.
  • שיקום סיגנל ("קו") קטוע – מאפשר לחבר שני קוים לקו אחד לאחר מחיקת בלוק. לחצו לסרטון.


Parallel Computing toolbox
  • הוספת תמיכה בפונקציות המפורטות למעלה עבור האצה באמצעות ה- GPU, ופרט לכך – גם פונקציות מכלים אחרים ניתנות כעת להאצה על ידי ה-GPU
  • פונקציית mexcuda לקימפול מהיר של קבצי mex המכילים קוד CUDA
  • הוספת פונקציה חדשה בשם parallel.pool.Constant המאפשרת יצירת משתנים קבועים כך שניתן לגשת אליהם מתוך Pool כגון Parfor
  • הפסקת התמיכה של הכלי במערכת הפעלה 32 ביט של  Windows

MATLAB Compiler
  • MATLAB Compiler בגרסת 64 ביט מאפשר לפתח תוספים ל-Excel אשר מיועדים להיות מותקנים תחת חבילת Office בגרסת 32 ביט.
  • הרחבת התמיכה בקימפול עבור סביבת Hadoop - החל מהגרסה החדשה datastore מאפשר לשמור גם קבצי תמונה.

MATLAB Compiler SDK
  • תומך באפשרות לקמפל קוד MATLAB לחבילות Python, לצורך שילוב הקוד באפליקציות הכתובות בשפה זו

MATLAB Production Server
  • תמיכה בהתממשקות לקוד המקומפל עבור C/C++ דרך פרוטוקול HTTPS (עד עתה פנייה דרך פרוטוקול HTTPS הייתה אפשרית רק מתוך Python, C# ו-Java)

MATLAB Coder
  • ניתן לייצר קוד C מקוד MATLAB העושה שימוש ב- cell arrays
  • הוספת תמיכה ביצירת קוד C מתוך פונקציות המפורטות למעלה
  • mex files מהירים יותר עבור פעולות של אלגברה ליניארית באמצעות שימוש בספריות LAPACK
  • ·אפשרות לבצע בדיקות Run-Time לקוד C שהוא Standalone (כמו בדיקה האם מתבצעת פניה לאינדקס אשר מחוץ לגודל המערך). עד כה היה ניתן לבצע את הבדיקות רק לקוד mex
  • תמיכה בקומפיילר חינמי MinGW-w64  עבור מערכת הפעלה 64 ביט של  Windows

Simulink Coder
  • קוד יעיל יותר עבור מערכות multirate
  • תמיכה בייצור קוד C++ עבור protected models
  • תמיכה בקומפיילר חינמי MinGW-w64  עבור מערכת הפעלה 64 ביט של  Windows


Embedded Coder
  • כלי חדש (Embedded Coder Quick Start) שמאפשר להכין במהירות את המודל ליצירת קוד Embedded קריא ויעיל
  • אפשרות לחיסכון בזיכרון הקוד (RAM/ROM) באמצעות שיתוף של משתנים עבור כניסות ויציאות של subsystem ובאמצעות שימוש בפוינטרים במקום העתקות
  • שיפורים ב-SIL/PIL - זמני ריצה מהירים יותר ואפשרות לצפייה ב-profiling של הקוד תוך כדי ריצה

Simscape
  •  Simscape Language – שינויים סמנטיים הקשורים לטיפול בפעולות מתמטיות על יחידות פיזיקליות – על מנת להגדיל את הרובסטיות והעקביות של תוצאות הסימולציות:
           o        בהגדרת משתנה פיזיקלי {value,'unit'} חובה להגדיר את הערך עצמו ללא יחידות (אין יותר את הגמישות שהיתה בעבר בנושא זה, אשר למרבה הצער במקרים רבים "עלתה" בהמרת יחידות כפולה)                    o        בהגדרת ארגומנטים חובה להגדירם עם יחידות, מתבצע נירמול לערך 1 של הערך הנשלח (בעבר הפונקציות היו מתייחסות לארגומנטים בצורה נומרית בלבד, כיום ההתייחסות הינה פיזיקלית)
  • ספריית Periodic Operators - בלוקים חדשים לעבודה על אותות מחזוריים
  • שיפור במהירות ויעילות סימולציות של מערכות לינאריות ממותגות של כ- 30% (גם ב- Accelerator mode וגם ב-Normal mode)
  • רישום משתנים ל- Workspace כ-Structure – טיפול בשמות המשתנים והענפים. בעבר המערכת הייתה משנה את שמות המשתנים (שמירה על ייחודיות), כיום שמות המשתנים והענפים הינם בדיוק כפי שהוגדרו בדיאגרמת הבלוקים

SimMechanics
  • בלוק spline בספריית Curves and Surfaces להתמודדות עם חוליות המתכנסות במספר מישורים (2-D, 3-D)
  • הוספת מסגרות לגוף קשיח (Solid) – מקל על תכן ושינויים מהירים בגוף בסיסי
  • הגדרת סיבובים ב-3D כרצף של שלושה סיבובים בסיסיים (זוויות אויילר( בבלוק ה-Rigid Transform

SimPowerSystems
  • Nonlinear Inductor, Nonlinear Transformer - בלוקים חדשים של רכיבים לא-לינארים כתוצאה מרוויה מגנטית
  • טיפול בהפסדים והחזרים עבור מנועים מסוג Brushless (​Brushless DC Motor block)

SimElectronics
  • בלוק Fault - הדמיית כשלים במערכת (open-circuit, short-circuit) ב- זמן / ערך / מצב מוגדר מראש. מאפשר ניתוח המערכת ושליחת אזהרות בזמן ריצת הסימולציה.
  • בלוק Resistor- הגדרת אפיצות, תחומי עבודה, כשלים, רעשים תרמיים וההשפעות שלהם.
  • שימוש בטבלאות להגדרת יעילות מנועי  Servoכפונקציה של המומנט והמהירות.


למידע נוסף, אנא היכנסו לעמוד הגרסה באתר.