Integrating MATLAB with C Code register

 

Course Highlights

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

Course Objectives

The aim of this course is to provide participants on interfacing user-written C code with Matlab

Who Must Attend

This hands-on course is designed for engineers who wish to interface their Matlab code with user-written C code

Course Benefits


Upon the completion of the course, the participants 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, and 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

Course Outline

MEX-File Overview
Objective: Identify required components of a MEX-file and set up the environment for producing MEX-files.

  • Introduction to MEX-files
  • Applications of MEX-files
  • Components of a MEX-file
  • Setting up MATLAB to compile MEX-files
  • Building and running a MEX-file
MEX-Files with Inputs and Outputs
Objective: Create MEX-files with inputs and outputs for interacting with MATLAB environment.
  • Data flow in MEX-files
  • MATLAB data
  • The mxArray class
  • Working with pointers
  • Working with mxArray API functions
  • Working with strings
  • When to use MEX-files
  • Handling data

MEX-File Interface Considerations
Objective: Display diagnostic messages and manage memory in MEX-files.

  • Displaying diagnostic messages
  • Memory allocation and deallocation
  • Preventing memory leaks
  • Working with input and output memory
  • Debugging MEX-file

Calling MATLAB from C Code
Objective: Call the MATLAB engine from a C application to evaluate MATLAB expressions and transfer data between the C application and the MATLAB engine.
  • Introduction to the Matlab engine
  • Data Flow in Matlab engine applications
  • Calling the Matlab engine