MATLAB to C with MATLAB Coder


MATLAB® Fundamentals and knowledge of C programming language
Day 1 of 2
Code Generation with MATLAB Coder

Objective: Become familiar with MATLAB Coder and its applications.

  • MATLAB Coder overview
  • Workflow for generating C code from MATLAB code
  • Setting up your C compiler
  • Generating C code
  • Navigating generated code
  • Generated code modules
Preparing MATLAB Code for Code Generation

Objective: Use MATLAB Coder coding standards to write MATLAB code that is ready for code generation.

  • Translating MATLAB code into C code
  • Calling unsupported MATLAB functions
  • Converting existing MATLAB code
  • Debugging strategies
Working with Fixed-Size Data

Objective: Generate C code from MATLAB code that has fixed-size or constant inputs.

  • Data characteristics overview
  • Default data characteristics
  • Specifying fixed-size top-level inputs
  • Specifying constant top-level inputs
Working with Variable-Size Data

Objective: Generate C code from MATLAB code that has variable-size inputs or local data.

  • Specifying variable-size top-level inputs
  • Specifying variable-size local data
  • Reusing variables
Day 2 of 2
Working with Global Data and Structures

Objective: Generate C code from MATLAB code that contains persistent data, global variables, or input structures.

  • Persistent variables
  • Global variables
  • Working with structures
  • Passing variables by reference
Integrating with External Code

Objective: Integrate generated C code from MATLAB Coder with external C code.

  • Code integration overview
  • Entry points to generated code
  • Integrating external C code using MATLAB Coder interface
  • Integrating external C code using an external IDE
  • Calling external C routines
  • Integrating with a MATLAB wrapper function
Optimizing Generated Code

Objective: Use various options and techniques to optimize generated code.

  • Specifying variable numbers of arguments
  • Loop unrolling in generated code
  • Null initialization
  • Function inlining
  • File partitioning
  • Configuration object for embeddable C code generation
  • Naming conventions in generated code
  • Optimizing for computational complexity