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

יום רביעי, 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כפונקציה של המומנט והמהירות.


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

יום רביעי, 17 בספטמבר 2014

R2014a - מוטב מאוחר מאשר לעולם לא

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

MATLAB – חלון חדש לצפייה בהיסטוריית הפקודות שהוקלדו ולהרצה חוזרת של פקודות רצויות (נפתח על ידי לחיצה על מקש ה"חץ למעלה" כאשר הסמן ב-Command Window. נותן חיווי לגבי פקודות שהרצתן הסתיימה בשגיאה ופקודות שהורצו יחדיו, וכן נותן חיווי לגבי מספר הפעמים שבהם הורצה הפקודה ברציפות. מאפשר לקבל תזמון של משך הריצה של הפקודה וכן לסמן מספר פקודות להרצה מיידית); תמיכה בחומרת Raspberry Pi ובמצלמות רשת מתוך MATLAB ; אפשרות לייצר סקריפט שבאמצעותו ניתן יהיה לשמור את המשתנים ב-Workspace ולשחזרם מאוחר יותר; הצעת תיקונים ב-Command Window לשגיאות הקלדה של שמות פונקציות שפותחו על ידי המשתמש (ולא רק לשמות פונקציות של MathWorks).

Image Processing Toolbox – יכולת להמיר 25 פונקציות נוספות לקוד C באמצעות MATLAB Coder (למשל: edge, imfilter ו-imopen. סה"כ 41 פונקציות מתוך הכלי כבר נתמכות); יכולת להאיץ עוד 9 פונקציות באמצעות כרטיס המסך (למשל: bwdist, imfill ו-imreconstruct. מצריך Parallel Computing Toolbox, סה"כ 46 פונקציות עיבוד תמונה כבר נתמכות); אפליקציית Color Thresholder המאפשרת ליצור מסיכת סגמנטציה לתמונת צבע על ידי שימוש במרחבי צבעים שונים (לחצו לפוסט בנושא).

Simulink Data Dictionary להגדרת וניהול מידע הקשור למודלים (לחצו לקישור); תמיכה built-in להתקני LEGO MINDSTORMS EV3, Samsung Galaxy Android  ו- Arduino Due; אפשרות להוסיף rich text, תמונות, היפרלינקים וטבלאות במודל לצורך תיעוד משופר; יכולת לשטח תת-מערכת חזרה אל תוך הרמה שמעליה (לחצו לקישור); אפשרות לייצר ממשקי משתמש לבלוקים תוך שימוש ב-dials, sliders ו-spinboxes (מלמעלה למטה, בתמונה הבאה, ניתן ללחוץ כדי להגדיל)

Computer Vision System Toolbox – פונקציה לזיהוי תווים אופטי (OCR); הרחבת התמיכה על ידי ה-MATLAB Coder לצורך המרת קוד MATLAB לקוד C (סה"כ 86 פונקציות ו-System Objects כבר נתמכות); גלאי פיצ'רים BRISK

LTE System Toolbox – גרסת מוצרים ראשונה של MathWorks בה נכלל הכלי החדש לסימולציה של Physical Layer של מערכות תקשורת אלחוטיות הפועלות בתקני LTE ו-LTE Advanced

Simulink Real-Time – כלי המשלב את יכולות ה-xPC Target ו-xPC Target Embedded Option ומשמש לצורך סימולציות ובדיקות בזמן אמת (RST) של אפליקציות.

MATLAB Coder – תמיכה בעשרות פונקציות נוספות וב-System Objects נוספים מתוך ה-Image Processing Toolbox, Computer Vision System Toolbox, Signal Processing Toolbox, Communication System Toolbox ו-DSP System Toolbox. כמו כן – תמיכה גם בפונקציות fminsearch ו-fread; אפשרות לייצר script עבור הגדרות של פרוייקט שהוכן באמצעות ה-GUI שנפתח באמצעות פקודת coder (מאפשר אוטומציה של תהליך יצירת הקוד).

Parallel Computing Toolbox – הוסרה ההגבלה על מספר ה-cores המקומיים בהם ניתן לעשות שימוש (ההגבלה היתה למקסימום 12); תוספת פונקציות MATLAB ו-Image Processing Toolbox הניתנות להאצה באמצעות כרטיס המסך.