Skip to Main Content Skip to Search
Accelerating the pace of engineering and science

 

Training - Courses

MLEX: Interfacing MATLAB with C Code

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.
VIEW SCHEDULE and Register SHARE with Manager/Colleague
 
 Detailed course outline

 

Day 1 of 1
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-files
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
  • Compiling and running MATLAB engine applications

Prerequisites

Familiarity with terminology and concepts related to programming in C (especially pointers). Experience with MATLAB is recommended.

Course Length - 1 day

Request training