יום רביעי, 27 בספטמבר 2017

שנה חדשה, גרסה חדשה

בשבוע שעבר שוחררה גרסת R2017b של מוצרי MathWorks. הגרסה החדשה מכילה יכולות חדשות משמעותיות ב-MATLAB ו-Simulink, וכן עדכונים לעשרות כלים אחרים.
בין היתר, הגרסה כוללת:
  • תוספת של פונקציות רבות הנתמכות לייצור אוטומטי של קוד C מתוך קוד ה-MATLAB,
  • האצה של הקוד והמודלים הקיימים שיש בידכם היום (בארבע הגרסאות האחרונות מהירות הריצה של הקוד השתפרה בכ-25%, בכל גרסה, מבלי שתצטרכו לעשות דבר פרט לשימוש בגרסה עדכנית!),
  • אפשרות להורדה של Add-Ons מספריות החומרה, הטולבוקסים וקהיליית המשתמשים של MathWorks – ללא עלות נוספת.
להלן תקציר של השיפורים המרכזיים בכלים השונים, כפי שרוכזו על ידי צוות מהנדסי האפליקציה של סיסטמטיקס (מומלץ לבחון את ה-Release Notes על מנת ליהנות מכל השיפורים).

משפחת מוצרי MATLAB

MATLAB

  • geobubble – פונקציה ליצירת מפה אינטראקטיבית עם בועות בגודל וצבע משתנים בהתאם לערכים המוצגים
  • wordcloud – פונקציה להצגת מילים בגודל משתנה בהתאם לתדירות הופעתן או מידע אחר
  • Code compatibility report – כלי המסייע לעדכן את הקוד הקיים לגרסאות MATLAB חדשות יותר
  • tall arrays – הרחבת היכולות להצגת מידע הגדול מגודל הזיכרון באמצעות פונקציות binscatter, plot, scatter
  • App Designer – שיפורים נוספים, ביניהם הרחבת התמיכה בויזואליציה בדו-מימד ותלת-מימד, רכיבים חדשים ושיפורים באריזה ושיתוף
  • C++ MATLAB Engine API – הרצת קוד MATLAB מתוך תוכנית C++  והעברת מידע  בין התוכנית ל-MATLAB

Statistics and Machine Learning Toolbox

הרחבת התמיכה בשימוש ב-tall arrays עבור פונקציות לבניית מודלי Machine Learning:
  • fitckernel (new function) for Gaussian kernel classification using feature expansion
  • fitrlinear for SVM regression
  • fitctree for classification decision trees

 Text Analytics Toolbox

כלי חדש המכיל אלגוריתמים וויזואליציות לעיבוד מקדים, אנליזה ומידול של מידע טקסטואלי, עבור אפליקציות כמו ניתוח רגשות, תחזוקה מונעת וזיהוי נושא.
ה- Toolboxמכיל כלים לעיבוד טקסט ממקורות שונים, כגון לוגים של מערכות, תוצאות סקרים, דו"חות, אתרי חדשות ומדיה חברתית, עליו ניתן לבצע פעולות כמו המרת טקסט לתצוגה נומרית ובניית מודלים סטטיסטיים.
באמצעות שיטות כמו LDA, LSA ו-Word embeddings, ניתן לבצע אישכול ולמצות מאפיינים ממידע טקסטואלי רב-מימדי, ולשלב מאפיינים אלה בבנייה של מודל Machine Learning.
ניתן לייבא מידע מקבצי word או PDF, לחשב TF-IDF  ולנתח תדירות מילים, לבצע אימון של מודלי Word-embedding, ולייבא מודלי מאומנים מ- word2vec, FastText,  GloVe .
לסרטון קצר בעברית בנושא - לחצו פה.

Database Toolbox

  • אפליקציית Database Explorer משופרת – לסקירה databases מבלי לדעת SQL
  • ממשק עבור MongoDB, Neo4j, SQL

Optimization Toolbox

  • שיפורים להגדרת בעיות באופן פשוט וישיר, וכתיבת קוד קומפקטי וקריא
  • אפשרות לעבודה עם פותרן אוטומטי

Symbolic Math Toolbox

  • עבודה עם יחידות והמרה בין יחידות SI ו-US
  • ביצועי חישובים פיסיקליים ב- Live Editor

משפחת מוצרי Simulink

Simulink

  • ניתן לבצע השוואות בין מודלים שונים ודיאגרמות מצבים, לצורך איחוד והשוואות בין ענפי הפיתוח השונים (Merge, Branches), ללא צורך ברשיון עבור ה-Simulink Report Generator
  • ניתן לעשות שימוש ביכולות Simulink Project גם עבור פרויקטים קיימים, ע"י המרה באופן אוטומטי של תיקיית הפרוייקט במחשב לפרוייקט Simulink.
  • ריכוז כלל יכולות ניהול וניתוח סימולציות לתוך "מנהל ריצת הסימולציה". כעת ניתן לבחון מהו מצב הסימולציות תוך כדי הריצה (במקבול הרצות), וכך ניתן לראות את סטטוס הריצה, איזו הרצה עברה ואיזו נכשלה, ובהתאם לכך להחליט אילו הרצות לבחון שוב.
  • ניתן לתזמן את איברי הסימולציה בקלות ובנוחות, ובנוסף הסימולינק יבדוק ויפתור את בעיות התלות בין הבלוקים השונים באופן אוטומטי.

Stateflow

  • ניתן לשלב בלוקים (רציפים ובדידים) של סימולינק בתוך דיאגרמת המצבים לצורך פישוט המודל.
  • כעת יש יכולת לצפות בצורה גרפית באיזה מצב  (state)המערכת נמצאת, על ידי ה-simulation data inspector.

Simulink Control Design

ניתן לייצר קוד embedded של בקר PID וכך אפשר לשנות את הפרמטרים של הבקר על גבי המערכת עצמה.

Simscape

  • שיפור הרובוסטיות של המערכת ע"י הכנסת מספר משתנה ל-solver של הסימולציה.
  • ניתן לשמור מצב עבודה של המערכת ולבצע initialized עם הערכים הללו למודל הפיסיקלי.

סביבת Deep Learning

GPU Coder

כלי חדש המאפשר המרה אוטומטית של קוד MATLAB לקוד CUDA אשר יכול לרוץ על מעבדים גרפיים של חברת nVIDIA.

Neural Network Toolbox

  • התממשקות עם TensorFlow - Keras לצורך ייבוא מודלים - היכולת צפויה להתווסף במהלך חודש אוקטובר.
  • תמיכה בארכיטקטורות מתקדמות של רשתות: RNN  , LSTM ,DAG, GoogleNet.
  • Custome layer - ממשק ליצירת סוגים חדשים של שכבות באמצעות שפת  MATLAB
  • Semantic Segmentation - יצירת PSPNet וכן מטריקות בתחום הסגמנטציה הסמנטית, לרבותIoU .
  • Early stopping via validation and training plots - יכולת ולידציה אוטומטית לרשת ועצירת האימון כאשר מטריקות הוולידציה מפסיקות להשתפר. חידוש זה מאפשר להכניס מידע ולידציה לתהליך האימון ולהציג ביצועים ב- training accuracy plot הן על מידע האימון והן על מידע הוולידציה.
  •  Deep Learning Image Preprocessing - בזמן שהתמונות נקראות ומוזנות לתוך האימון – יש כעת אפשרות לבצע פעולות גיאומטריות על מנת להגדיל את מידע האימון.
  • Bayesian Optimization  - מציאת הגדרות אופטימליות לאימון רשתות עמוקות.

Computer Vision System Toolbox

Semantic Segmentation באמצעות Deep Learning  והערכה + ויזואליציה של תוצאות הסגמנטציה.

עיבוד אות ותקשורת

Antenna Toolbox

  • אובייקט pbstack לתכנון ואנליזה של אנטנות PCB ויצירת קבצי Gerber.
  • שילוב אלמנטים של הספקי אנטנה וקליטה על גבי מפה.
LTE System Toolbox

Modeling of physical layer algorithms for 5G channel coding, narrowband Internet of Things (NB-IoT) links, and LTE V2X communication

LTE HDL Toolbox

כלי חדש המספק  Sample-Based blocks בסביבת Simulink עבור פיתוח ומימוש מערכות LTE, ליצירת קוד HDL סינתזבילי, אופטימלי וקריא באמצעות ה HDL-Coder עבור FPGA/ASIC.
ספריית הבלוקים כוללת בין היתר encoders, decoders (לדוג' turbo, CRC ו- convolutional), כמו כן גילוי אותות (PSS  ו- SSS).
מעבר נוח מ- Sample to Frame או Frame to Sample לשילוב של מערכות עיבוד מבוססות Frame הנמצאות ב- LTE System Toolbox.
ניתן למדל מערכת LTE באמצעות Simulink ולעבור בצורה מהירה לחומרה נתמכת של Xilinx/ Altera(Intel).

Signal Processing Toolbox

  • עודכנו אפשרויות נרחבות בSignal Analyzer App- – ייצור סקריפטים בצורה אוטומטית, חישוב persistence spectrum והוצאת איזורי זמן ספיצים מהאפליקציה ישירות לworkspace.
  • נוספה פונקצית pspectrum המאפשרת לחשב ספקטוגרמות עם אופציות נרחבות יותר: reassigned spectrogram, persistence spectrum.
  • יש לשים לב שבגרסה זו הפונקציות psd -spectrum השתנו לperiodogram, pspectrum  או pwelch.

Communication System Toolbox

  • תמיכה בפרוטוקולים חדשים:
  1. נוספה כעת תמיכה בפרוטוקול ZigBee בכדי לתכנן מערכות העובדות בפרוטוקול זה. ניתן לייצר ולפענח סיגנלים מתאימים לסטנדרט. הסיפריה כוללות דוגמאות לשכבת הראשונה והשנייה (PHY ו-MAC)
  2. ניתן כעת גם לייצר ולפענח סיגנלים לפרוטוקל NFC באמצעות MATLAB.
  • תמיכה רחבה יותר בערוצי MIMO – כעת ניתן להגדיר גם polarization עבור אנטנות בערוץ תוך כדי שינויים נוספים במערכת.

Phased Array System Toolbox

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

DSP System Toolbox

  • שיפור בחישוב לאובייקט Spectrum Analyzer (dsp.SpectrumAnalyzer) כעת ניתן להציג את החישוב באמצעות Filter Banks ולהוסיף spectral mask ישירות בתוך הGUI.
  • נוסף אובייקט חדש dsp.ZoomFFT האפשר לחשב רזולציה גבוהה עבור חלק מהתדרים בסט דאטה.
  • בגרסה העדכנית יש שיפור בדרישות חומרה עבור חישובי FFT -IFFT ל-HDL

יצירת קוד אוטומטית

MATLAB Coder

הגדלת התמיכה ביצירת קוד באופן אוטומטי עבור Machine Learning
  • discriminant analysis classifier models
  • linear regression models
  • support vector machine (SVM) regression models
  • ensembles of regression trees

GPU Coder

כלי חדש, כמפורט לעיל (בחלק של סביבת Deep Learning).

Verification and Validation

Simulink requirements

באמצעות כלי זה ניתן לייצר קישור בין פלטפורמות ניהול דרישות שונות (doors, word etc.) ולייצר בדיקות על המערכת.

Simulink Check

כלי שמציג מהם הסטנדרטים בהם קוד הסימולינק שלכם תומך ( iso, matrixes size, etc.), והאם הוא תואם לתקנים אלו.

Simulink Coverage

כלי לבדיקת אחוז הכיסוי של המערכת לפי הבדיקות שבוצעו ובמהלך יצירת הקוד.

מוצרים חדשים ועדכונים ברשיונות קיימים

GPU Coder מוצר חדש המאפשר יצירת קוד CUDA-C לטובת הרצה על מעבדי nVIDIA בצורה עצמאית. מצריך את הכלים הבאים:
MATLAB Coder, Parallel Computing Toolbox

LTE HDL Toolbox מוצר חדש המאפשר מידול ובחינה של טכנולוגיית LTE, והרצתה על גבי רכיבי FPGA ו-ASIC. מצריך את הכלים הבאים:
Simulink, Communications System Toolbox, Fixed-Point Designer

Text Analytics Toolbox – מוצר חדש לניתוח ולימוד של מידע טקסטואלי. מצריך את הכלים הבאים:
Statistics and Machine Learning Toolbox

פיצול של Simulink Verification &Validation הכלי מחולק מהיום ל-3 מוצרים נפרדים, בהתאם ליכולות המרכזיות שהיו קיימות. המטרה היא לאפשר פיתוח מהיר ונוח יותר, מתן הפתרונות המתאימים למפתחים, והיערכות לקראת יכולות עתידיות של כלים למהנדסי מערכת. בעלי הרשיון הקיים יקבלו את כל הרשיונות החדשים ללא עלות:
Simulink Check
Simulink Coverage
Simulink Requirements
שינוי תלויות
המוצר Simulink Design Verifier יצריך את המוצרים Simulink Coverage ו-Simulink Check.


רוצים לדעת עוד?

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

סקירות בעברית, בצירוף קישורים שימושיים, יופיעו בבלוג זה בעתיד הקרוב.

מידע על מועדי סמינרים וכנסים טכניים חינמיים בתחומים שונים, הכוללים גם סקירות אודות החידושים בגרסאות האחרונות, ניתן למצוא באתר סיסטמטיקס
ניתן יהיה להתרשם מהיכולות העדכניות של הגרסה בסמינרים הקרובים:
  • סמינר למידה עמוקה של תחום ה  Deep Learning- 21.11.17
  • כנס Systems  Autonomous - חדשנות בפיתוח מערכות אוטונומיות חכמות בסביבת MATLAB – 6.12.17
(ההשתתפות באירועים אלה הינה חינם, אך מותנית בהרשמה מראש).


יום שני, 14 באוגוסט 2017

מהר יותר, נמוך יותר, חזק יותר! | יכולות משמעותיות חדשות בתחום ה-Deep Learning בסביבת MATLAB

פייר דה קוברטן, מי שהוביל את הרעיון לחדש את מסורת המשחקים האולימפיים, הוא זה שטבע את הסיסמה "מהר יותר, גבוה יותר, חזק יותר!". אבל הבלוג הזה לא עוסק בספורט, מה גם שהאולימפיאדה הבאה עוד די רחוקה. מה שכן מתקרב בצעדי ענק הוא השחרור של גרסת MATLAB חדשה, R2017b, אשר לפחות עבור העוסקים בתחום ה-Deep Learning - צפויה להיות גרסה די משמעותית. ובפראפראזה על הסיסמה שהגה הברון דה קוברטן – דברים הולכים לרוץ מהר יותר, תוך ניצול נמוך יותר של זיכרון, ותוך הפגנת סט יכולות חזק יותר מאי פעם!

יכולות ה-Deep Learning בסביבת MATLAB נסקרו בבלוג הזה לראשונה לפני כעשרה חודשים (קישור למטה). בכנס MATLAB & Simulink 2017 Israel Expo שהתקיים לפני כשלושה חודשים התכבדתי להעביר הרצאה בנושא, בה הדגמתי כיצד סביבת MATLAB מאפשרת להתמודד בקלות עם האתגרים השונים בביצוע משימות בעולם ה-Deep Learning (קישור להרצאה - למטה). כשבוע לאחר הכנס פרסמתי פה סקירה של החידושים בתחום בגרסת ה-MATLAB הנוכחית (קישור למטה), וכעת אני מתכבד לפרסם הצצה ראשונית ליכולות הצפויות בגרסת ה-MATLAB הבאה, R2017b, אשר צפויה להשתחרר בעוד כחודש. הסקירה הזו מבוססת בחלקה על עמוד ה-Deep Learning באתר חברת MathWorks (קישור למטה).


אז מה היכולות החדשות שמתוכננות לגרסה הקרובה?

GPU Coder – כלי חדש המאפשר המרה אוטומטית של קוד MATLAB לקוד CUDA אשר יכול לרוץ על מעבדים גרפיים של חברת nVidia. מדובר בהרחבה של כלי ה-MATLAB Coder (המאפשר להמיר קוד MATLAB לקוד C), אשר לפי ה-benchmarks מאפשרת לקוד לרוץ פי 5 יותר מהר מאשר מה שמאפשרת ספריית Caffe2, ופי 7 יותר מהר מאשר TensorFlow (בבדיקה על פעולות הסקה תוך שימוש ב-Alexnet; יודגש שגם ללא הכלי סביבת MATLAB מהירה יותר מאשר שני הכלים האחרים). בנוסף, על פי ה-benchmarks הכלי מאפשר ניצול של פי 3 פחות זיכרון מאשר TensorFlow דורש. ניתן למצוא למטה קישור לפוסט בנושא.

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

תמיכה בארכיטקטורות מתקדמות של רשתות
RNN היא רשת בעלת לולאות שמסוגלת להתמודד יותר בקלות ויותר בטבעיות עם מידע רציף, כמו וידאו, טקסט, ואודיו. כלומר – מאפשרת לנצל את המידע שנאסף במילה הקודמת במשפט או בפריים הקודם של הווידאו, על מנת להבין את המילה הבאה או הפריים הבא. בגרסה החדשה צפויה תמיכה ב-LSTM - מקרה מיוחד של RNN - אשר מצליח להשתמש במידע שנלמד בתחילת רצף ארוך - גם בשלב יותר מאוחר ברצף. משמש לתרגום, זיהוי כתב יד, זיהוי קול, סיווג תמונות, חיזוי תגיות ועוד.
DAG - רשת שבה הקלט של שכבה יכול להגיע ממספר שכבות, והפלט שלה יכול להגיע אל מספר שכבות, ללא משוב.
GoogLeNet רשת DAG קטנה, מהירה ומדויקת, אשר זכתה בתחרות ILSVRC בשנת 2014.
הנ"ל בהמשך לתמיכה ב-VGG שנוספה ב-R2017a והרחיבה את התמיכה ב-Alexnet
שימו לב שבמהלך חודש אוקטובר צפויה להתווסף גם תמיכה ב-ResNet50 (רשת מקבילית עמוקה מאוד, 177 שכבות, שאומנה באמצעות למעלה ממיליון תמונות, וזכתה ב-ILSVRC  לשנת 2015. לחצו לקישור) בתור Support Package. ובהמשך - תהיה גם תמיכה ב-ResNet101.
תמיכה ב-
InceptionV3 צפויה להתווסף בסביבות סוף השנה.

Custom layer – ממשק ליצירת סוגים חדשים של שכבות באמצעות שפת MATLAB.

Batch normalization – מאפשר להאיץ את תהליך האימון ולהפחית את הרגישות לאתחול, על ידי שימוש בשכבות אשר מנרמלות את ה-activations והגרדיאנטים המתקדמים ברשת, דבר ההופך את אימון הרשת למשימה פשוטה יותר.

סוגים חדשים נוספים של שכבות – Deconv layer ,MaxUnPooling layer (מה שמאפשר לייצר DeconvNet) ועוד...

Semantic Segmentation – סגמנטציה סמנטית הינה טכניקה להפרדה של אובייקט מהרקע ברמת הפיקסל תוך התייחסות זהה לאובייקטים מאותו קלאס (למשל – התייחסות אל שני כיסאות שונים בתור קלאס זהה). בגרסה הקרובה תתווסף אפשרות להוסיף שכבות ,FCN SegNet ו-PixelClassification (מצריך את ה-Computer Vision System Toolbox) ואפשר יהיה ליצור PSPNet (יצריך לבנות את הרשת, המעוניינים יכולים לקבל ממני דוגמה לשימוש ב-Alexnet בתור בסיס; כאמור – לאחר שחרור הגרסה מתוכנן שיחרור של תוסף של ResNet50, מה שיאפשר לשכפל די טוב את ה-PSPNet המקורי). 
בנוסף, לבעלי ה-Computer Vision System Toolbox - בגרסה יתווספו גם כל מיני פונקציות עזר וכל מיני מטריקות בתחום הסגמנטציה הסמנטית, לרבות IoU / Jaccard (מדד טיב בגילוי אובייקטים – היחס בין החיתוך של ה-bounding box של הגילוי עם זה של ה-ground truth, לבין האיחוד שלהם).

Labeling – כידוע, פרט ל-App לביצוע Labeling לסרטוני וידאו (המהווה חלק מה- Automated Driving System Toolboxקיים גם ה-App המסייע לביצוע Labeling לתמונות (אשר הינו חלק מה- Computer Vision System Toolbox). לאחרון תתווסף תמיכה בתיוג פיקסלים ואזורים עבור משימות סגמנטציה סמנטית. 

Early stopping via validation – יכולת ולידציה אוטומטית לרשת כל מספר איטרציות, ועצירת האימון כאשר מטריקות הולידציה מפסיקות להשתפר. הנ"ל יאפשר להכניס מידע ולידציה לתהליך האימון ולהציג ביצועים ב-training accuracy plot הן על מידע האימון והן על מידע הולידציה (ה-plot המשודרג גם צפוי להכיל לחצן "עצור").

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

Bayesian Optimization – מציאת הגדרות אופטימליות לאימון רשתות עמוקות (מצריך את ה-Statistics & Machine Learning Toolbox)


מה הלאה?

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

אם אתם לא יכולים לחכות :) אתם מוזמנים לקורס מקצועי חינמי בנושא דרך האינטנרט, של כשעתיים, קישור לקורס מצורף למטה.

ואם יש יכולות חדשות בתחום ה-Deep Learning שהייתם רוצים לראות בסביבת MATLAB – אפשר לכתוב אותן בתגובה לפוסט זה. ב-MathWorks כבר החלו לעבוד על הגרסאות הבאות, וכמובן שהמטרה היא שהתוכנה תתאים כמה שיותר לצרכים של המשתמשים. אז קדימה, לא להתבייש :)


קישורים:

* הרשמה לסמינר שיתקיים בתאריך 21/11/2017

* פוסט מלפני כעשרה חודשים בנושא יכולות ה-Deep Learning בסביבת MATLAB
* פוסט בנושא GPU Coder
* וידאו - הרצאה מכנס MATLAB & Simulink 2017 Israel Expo

* קורס חינמי אונליין 
לחצו פה

* סקירה של החידושים בתחום בגרסת ה-MATLAB הנוכחית (R2017a)

* עמוד ה-Deep Learning באתר חברת MathWorks (מומלץ לנווט אל עמוד ה-Features באמצעות שורת התפריטים מתחת לפס הכחול אשר בחלקו העליון של העמוד)


יום שני, 31 ביולי 2017

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

קרה לכם פעם שהתיישבתם לכתוב פונקציה מסויימת, וחשבתם לעצמכם ש"מישהו בטח כבר כתב כזה דבר"?

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

אם עניתם "כן" על לפחות אחת מתוך השאלות שלמעלה, MATLAB Central הוא המקום בשבילכם! וגם אם לא...

בכל חודש, מעל 2 מיליון משתמשי MATLAB ו-Simulink מבקרים באתר MATLAB Central כדי:

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

לכניסה לדף הבית של MATLAB Central לחצו פה

או לחצו על הקישורים הישירים הבאים כדי:
- לקרוא פוסט שפורסם פה לפני כשלוש שנים בנושא Cody Coursework  - פלטפומה לאוטומציה של תהליך מתן ציונים למשימות תכנות ב-MATLAB (שימושי למרצים ומתרגלים)


יום ראשון, 18 ביוני 2017

Apps ב-MATLAB

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

מה זה Apps?

אחד הנושאים שחברת MathWorks מקדישה לו הכי הרבה משאבים בשנים האחרונות, הוא שיפור ההנגשה של האלגוריתמים ותהליכי העבודה השונים אלינו המשתמשים, על ידי יצירה של עוד ועוד ממשקים גרפיים להפעלה של פונקציות ולביצוע של משימות מעולם המיחשוב הטכני, ממשקים שנקראים Apps. הממשקים האלה מכילים את כל השלבים הנחוצים להשלמת המשימה – מהטעינה של המידע לתוך ה-App, דרך ביצוע החישובים, ועד קבלת התוצאות. מהיישומונים האלה גם בדרך כלל אפשר לקבל בצורה אוטומטית קוד MATLAB שקול לצורך ביצוע החישובים על נתוני קלט אחרים, אותו קוד שהייתם צריכים להקליד כדי לקבל את אותה תוצאה שקיבלתם כאשר עבדתם בצורה אינטראקטיבית ונוחה עם העכבר.

נשמע מגניב, איפה אפשר למצוא Apps?

מזה כחמש שנים ניתן למצוא לא מעט Apps בלשונית APPS בחלק העליון של סביבת MATLAB, כמובן תלוי בכלים שיש לכם ברישיון שברשותכם. חשוב כבר כעת להבהיר - Apps אלה לא אפליקציות שאתם קונים באיזה App store, אבל  – אתם בהחלט יכולים להוריד Apps בחינם מה-File Exchange של MathWorks (קישור למטה), ואתם אפילו יכולים להכין Apps בעצמכם ולהפיץ אותם בתוך הארגון (קישור למטה).

זה הרגע שלכם – אם כתבתם פעם App, אשמח אם תגיבו למטה ותשוויצו בו J

קישורים שימושיים:
הורדת Apps בחינם מה-File Exchange של MathWorks לחצו פה.
מדריך להכנת Apps משלכם – לחצו פה.
סרטון קצר המדגים שימוש ב-Apps (Curve Fitting App), הורדת Apps, הכנת Apps חדשים והפצה שלהם – לחצו פה.
סרטון קצר המתמקד בשלב אריזת ה-App לצורך הפצה ובשלב ההתקנה של App לחצו פה.
מידע בנושא אריזת Apps לחצו פה.