מה חדש בגרסת R2024a ב-MATLAB ו-Simulink?
בפוסט זה נציג סקירה קצרה של השינויים המרכזיים בגרסה החדשה – כל אחד מהחידושים עוזר לפשט את המשימות ולבטל משימות ידניות רפטטיביות, ולמעשה נועד על מנת להשיג מטרה אחת: להפוך את העבודה שלכם להיות הכי נוחה שאפשר, על מנת שתוכלו להתרכז בעיקר עצמו, העבודה – ולא בכלים!
שינויים בפלטפורמת MATLAB
- בודק איות (Spell Checker) – גם ב-Editor וגם ב-Live Editor.
- איזו תוספת כיפית? מדובר באחד הפיצ'רים שהכי הרבה משתמשים ביקשו להוסיף – ועכשיו הוא כאן.
אפשר למצוא ולבדוק טעויות כתיב בשורות טקסט וגם בהערות שאנחנו מנהלים בסקריפט, ולתקן אותן במידת הצורך.
- פונקציות לוקליות:
גם כאן מדובר בשינוי שנעשה בעקבות הרבה בקשות שעלו מהמשתמשים: עד היום, פונקציות לוקליות בMATLAB- נכתבו עם אילוץ שעליהן להיכתב בתחתית הסקריפט. מעתה, ניתן יהיה לכתוב פונקציות לוקליות – ללא האילוץ האחרון, בכל מקום לאורך הסקריפט!
זו יכולת חשובה ושימושית, בפרט במקרה שהסקריפט מתארך ומתארך – ואנחנו זקוקים ליכולת לבצע דיבאגינג ולפתור בעיות שונות בקוד – בסמוך למנת הקוד שקוראת לפונקציות.
שינויים באינטגרציה בין MATLAB ל-Python
- הרצת קוד Python מ-MATLAB בגישת Low Code:
- על מנת להימנע משגיאות סינטקס בעת שימוש בפונקציות pyrun ו-pyrunfile, שגיאות שעלולות להיות מבלבלות ומבזבזות זמן – כעת ניתן להריץ קוד Python בצורה אינטראקטיבית באמצעות Live task חדש בשם Run Python Code.
באמצעות ה-Live Task ניתן:
- לכתוב ולהריץ את קוד ה-Python
- להעביר דאטה ומשתנים מ-MATLAB ל-Python ולהפך
- לציין את ה-Command line arguments
- לייצר קוד MATLAB בצורה אוטומטית על מנת להביא לאוטומציה של השלבים שבוצעו.
- נוספה יכולת להמרת טבלאות MATLAB ו-DataFrames של pandas.
ההמרה בין סוגי הדאטה האלו לעיתים נעשית לא טריוויאלית בגלל אי התאמות בין השפות.
התוספת הנ"ל שימושית למשתמשי MATLAB שמשתמשים גם ב-Python, ובפרט למשתמשים בחבילה של Pandas לחקר דאטה. כעת, באמצעות ה-GUI החדש – ההמרה בין סוגי הדאטה הנ"ל נעשית בצורה אוטומטית!
שינויים בפלטפורמת Simulink
שינוי בבניית מודל ב-Simulink Editor:
שינוי אדיר לכל אחד שעובד ב-Simulink ומסוגל להשתגע כשהחיבור של החיצים בין בלוק לבלוק משתבש כשמזיזים קומפננטות שונות או שמשנים את הגודל של בלוק מסוים.
כשמזיזים ב-Simulink בלוקים במערכת \ תתי מערכות שלמות, יכולים להיגרם שינויים בלתי רצויים לפריסה (layout) של המודל – בין אם זה אלמנטים חופפים, או דרכים שחוצות זו את זו – והתיקון של המערך של המודל יכול להיות מעייף וארוך בצורה ידנית.
בגרסה האחרונה לא צריך כלל להתעסק עם הנושא הזה בכלל: כשמגדילים, מזיזים, משנים את הבלוקים – כל שאר מערך החיצים משתנה בהתאם, מבלי "להתקפל", בצורה שחוסכת לנו הרבה זמן שהיינו צריכים להשקיע אחרת.
- אובייקט חדש – Simulation Object
שליטה פרוגרמטית של סימולציות דרך סקריפט היא משימה נפוצה למהנדסים שממדלים ומסמלצים את המערכת ושעובדים מחוץ לסביבת הפיתוח של הסימולציה.
כעת ניתן לשלוט על ההרצה של הסימולציה, ולשנות ערכי פרמטרים דרך סימולציות "כתובות". זה מאפשר לנו לקבל גישה לתוצאות של הסימולציה ולסטטוס הסימולציה תוך כדי ריצה. זה בא לידי ביטוי למשל על ידי היכולת של "stepping" בעת הרצת סימולציה.
כמו כן, מתאפשרות דרכים לאינטגרציה של הסימולציה עם מערכות 3rd party נוספות למשל עבור reinforcement learning ו-digital twin.
לדוגמא, כשיש לנו מערכת מבוססת Reinforcement Learning בה הסוכן מפותח ב-Python והסביבה מפותחת ב-MATLAB, הפלטים מהמודל יכולים כעת להתקבל בכל Time Step של תהליך אימון המודל.
- הקלה על תהליך בניית אפליקציות להרצת סימולציות:
חידוש זה מיועד למהנדסים שמתכננים אפליקציות להרצת סימולציות – וחווים שעות שמתורגמות לבזבוז זמן על כתיבה ידנית של האפליקציה ועל חיבור מודל ה-Simulink לאפליקציה. אלו הן משימות שלוקחות הרבה זמן כשנעשות בצורה ידנית.
כתיבת אפליקציות דורשת ידע בתכנות GUI וגרפיקות, שלא בהכרח קיים ודורש הרבה מאמצים על מנת לסגל תהליכי כתיבת אפליקציות נכונה.
בגרסה החדשה נוספה יכולת חשובה המתבססת על MATLAB App Designer – סביבת בניית אפליקציות בגישת Low-code של MATLAB, שאהודה מאוד על מהנדסים.
וכך ניתן לבצע פעולות נפוצות של הרצת סימולציות דרך אפליקציה, כמו למשל – תחילת ריצה, עצירת ריצה, מבט על התקדמות הסימולציה, ושימוש בקומפננטות הגרפיות של Simulink. ביצוע שינויים למשתנים של המודל מהאפליקציה, תוך כדי שהסימולציה רצה. וכן ויזואליזציה של האותות שמתקבלים מהסימולציה תוך כדי הריצה דרך האפליקציה.
תוכלו לראות עוד בלינק הבא.
בוצעו עוד שינויים רבים עם יציאת הגרסה, בין היתר בעולמות ההנדסיים הוורטיקליים בהם אנו מציעים פתרונות עומק – ותוכלו להעמיק כאן בשינויים העיקריים (Major Updates) שנעשו בתחומים כגון AI, Aerospace, Wireless Communications ו-Autonomous Systems.
בפוסט אחד לא ניתן לכסות את כל החידושים כולם, באמת מדובר בהרבה יכולות חדשות ושימושיות שחשוב שתכירו ותאמצו!
ניתן לקרוא עוד על חידושים נוספים של הגרסה האחרונה של MATLAB & Simulink – כאן!
מעבר לכך, אתם מוזמנים ליצור אתנו קשר ולשמוע עוד על כל החידושים והשינויים, אנחנו מלווים לקוחות רבים בעת המעברים בין הגרסאות ונשמח לעזור לכם לבחון את כל הדרכים בהן תוכלו להתפקס על מה שחשוב באמת – העבודה עצמה!