This three-day course provides a comprehensive introduction to the MATLAB technical computing environment. The course is intended for beginning users and those looking for a review. No prior programming experience or knowledge of MATLAB is assumed. Themes of data analysis, visualization, modeling, and programming are explored throughout the course. Topics include:
Working with the MATLAB user interface
Entering commands and creating variables
Analyzing vectors and matrices
Visualizing vector and matrix data
Working with data files
Working with data types
Automating commands with scripts
Writing programs with logic and flow control
Prerequisites: Undergraduate-level mathematics and experience with basic computer operations.
This two-day course provides hands-on experience using the features in the MATLAB language to write efficient, robust, and well-organized code. These concepts form the foundation for writing full applications, developing algorithms, and extending built-in MATLAB capabilities. Details of performance optimization, as well as tools for writing, debugging, and profiling code, are covered. Topics include:
This one-day course focuses on interfacing MATLAB with user-written C code. Through hands-on examples and exercises, the course explores generating MEX-files to incorporate external C code in MATLAB applications and calling MATLAB code from C applications. At the end of this course, attendees will be able to:
Write and compile source MEX files
Pass data between MATLAB and MEX files
Call MATLAB code from C code using the engine interface
Identify the proper approach for interfacing MATLAB with C code
Prerequisites: Familiarity with terminology and concepts related to programming in C (especially pointers). Experience with MATLAB is recommended.
This three-day course provides hands-on experience with performing data analysis with MATLAB. Examples and exercises demonstrate the use of appropriate MATLAB, Statistics Toolbox, Optimization and Global Optimization Toolbox functionality throughout the analysis process, starting from importing and organizing data, to exploratory analysis, to confirmatory analysis, defining and solving optimization problems and applying the results. Topics include:
Performing tests of significance
Fitting regression models
Generating random numbers and performing simulations
Specifying objective functions & constraints
Running optimization problems in MATLAB
Evaluating results and improving performance
Using global optimization methods
Prerequisites: MATLAB Fundamentals course or equivalent knowledge. Knowledge of linear algebra and knowledge of basic statistics.
This two-day course provides hands-on experience with performing image analysis. Examples and exercises demonstrate the use of appropriate MATLAB and Image Processing Toolbox functionality throughout the analysis process. Topics include:
Importing and exporting images
Analyzing images interactively
Aligning images and creating a panoramic scene
Detecting lines and circles in an image
Segmenting object edges
Segmenting objects based on their color and texture
Performing batch analysis over sets of images
Segmenting objects based on their shape using morphological operations
Measuring shape properties
Prerequisites: MATLAB Fundamentals or equivalent experience using MATLAB. Basic knowledge of image processing concepts is strongly recommended.
This one-day course provides hands-on experience with advanced topics in computer vision. Within this course the theoretical background will be given, along with using Matlab's functions to demonstrate implementations of these algorithms.
Feature Based Image Registration
Face Detection using Viola Jones algorithm
Motion Estimation with Optical Flow
Focus Estimation in real life images
Prerequisites: The course participants should have technological background, with knowledge and experience in basic image processing and MATLAB.
This two-day course covers C code generation from MATLAB code using MATLAB Coder. The focus is on making existing MATLAB code compliant, generating C code that meets optimization requirements, and integrating generated code with external modules. Topics include:
Preparing MATLAB code for code generation
Working with fixed-size and variable-size data
Integrating with external code
Optimizing generated code
Prerequisites: MATLAB Fundamentals and a basic working knowledge of the C programming language.
This two-day course focuses on data analytics and machine learning techniques in MATLAB using functionality within Statistics Toolbox and Neural Network Toolbox. The course demonstrates the use of unsupervised learning to discover features in large data sets and supervised learning to build predictive models. Examples and exercises highlight techniques for visualization and evaluation of results. Topics include:
This two-day course is for engineers who are new to system and algorithm modeling and design validation in Simulink. It demonstrates how to apply basic modeling techniques and tools to develop Simulink block diagrams. Topics include:
Creating and modifying Simulink models and simulating system dynamics
Modeling continuous-time, discrete-time, and hybrid systems
Modifying solver settings for simulation accuracy and speed
Building hierarchy into a Simulink model
Creating reusable model components using subsystems, libraries, and model references
Prerequisites: MATLAB Fundamentals course or equivalent experience using MATLAB.
This two-day course describes techniques for applying Model-Based Design in a common design workflow. It provides guidance on managing and sharing Simulink models when working in a large-scale project environment. Topics include:
Implementing interface control of Simulink subsystems and models
Managing requirements in Simulink models
Partitioning models using Simulink subsystems, libraries, and model references
Managing a model and all its dependencies in a project
Controlling the location, scope, and code generation behavior of model data
Establishing and enforcing modeling standards
Documenting and sharing a Simulink model
Pre-requisites: MATLAB Fundamentals and Simulink for System and Algorithm Modeling. This course is intended for intermediate or advanced Simulink users.
This one-day course describes techniques for testing and formally verifying Simulink model behavior. Topics include:
Recalling the role of verification and validation in Model-Based Design
Configuring Simulink models for testing
Testing a Simulink model for accuracy and coverage
Formally verifying model behavior
Publishing test results
Prerequisites: MATLAB Fundamentals and Simulink for System and Algorithm Modeling. This course is intended for intermediate or advanced Simulink users. Familiarity with creating MATLAB scripts and functions is recommended.
This two-day course shows how to implement complex decision flows and finite-state machines using Stateflow. The course focuses on how to employ flow graphs, state machines, and truth tables in Simulink designs. Topics include:
Modeling complex logic flows
Modeling state machines
Implementing hierarchical state machines
Implementing multiprocessing state machines
Using events in state charts
Calling functions from state charts
Implementing truth tables
Managing the Stateflow design interface
Prerequisites: MATLAB Fundamentals and Simulink for System and Algorithm Modeling. Knowledge of C programming is helpful.