Code Generation
MATLAB® Coder™ generates readable and portable C and C++ code from Statistics and Machine Learning Toolbox functions that support code generation. For example, you can classify new observations on hardware devices that cannot run MATLAB by deploying a trained support vector machine (SVM) classification model to the device using code generation.
You can generate C/C++ code for these functions in several ways:
Use
saveLearnerForCoder
,loadLearnerForCoder
, andcodegen
(MATLAB Coder) for an object function of a machine learning model.Use a coder configurer created by
learnerCoderConfigurer
forpredict
andupdate
object functions of a machine learning model. Configure code generation options by using the configurer and update model parameters in the generated code.Use
codegen
for other functions that support code generation.Train a machine learning model in the Classification Learner or Regression Learner app, and export the model to MATLAB Coder.
You can also generate fixed-point C/C++ code for the prediction of some machine learning models. This type of code generation requires Fixed-Point Designer™.
To learn about code generation, see Introduction to Code Generation.
For a list of functions that support code generation, see Function List (C/C++ Code Generation).
Functions
Objects
Topics
Code Generation Workflows
- Introduction to Code Generation
Learn how to generate C/C++ code for Statistics and Machine Learning Toolbox functions. - General Code Generation Workflow
Generate code for Statistics and Machine Learning Toolbox functions that do not use machine learning model objects. - Code Generation for Prediction of Machine Learning Model at Command Line
Generate code for the prediction of a classification or regression model at the command line. - Code Generation for Incremental Learning
Generate code that implements incremental learning for binary linear classification at the command line. - Code Generation for Prediction of Machine Learning Model Using MATLAB Coder App
Generate code for the prediction of a classification or regression model by using the MATLAB Coder app. - Code Generation for Prediction and Update Using Coder Configurer
Generate code for the prediction of a model using a coder configurer, and update model parameters in the generated code. - Specify Variable-Size Arguments for Code Generation
Generate code that accepts input arguments whose size might change at run time. - Generate Code to Classify Data in Table
Generate code for classifying data in a table containing numeric and categorical variables. - Create Dummy Variables for Categorical Predictors and Generate C/C++ Code
Convert categorical predictors to numeric dummy variables before fitting an SVM classifier and generating code. - Fixed-Point Code Generation for Prediction of SVM
Generate fixed-point code for the prediction of an SVM classification or regression model. - Code Generation for Nearest Neighbor Searcher
Generate code for finding nearest neighbors using a nearest neighbor searcher model. - Code Generation for Probability Distribution Objects
Generate code that fits a probability distribution object to sample data and evaluates the fitted distribution object. - Code Generation for Anomaly Detection
Generate single-precision code that detects anomalies in data using a trained isolation forest model or one-class SVM.
Code Generation Workflows in Machine Learning Apps
- Export Classification Model to MATLAB Coder to Generate C/C++ Code
Train a model in Classification Learner, and then export the model to MATLAB Coder to generate C/C++ code for prediction. - Export Regression Model to MATLAB Coder to Generate C/C++ Code
Train a model in Regression Learner, and then export the model to MATLAB Coder to generate C/C++ code for prediction. - Generate Code at Command Line Using Model Exported from Machine Learning App
Train a classification model using the Classification Learner app, and generate C/C++ code for prediction at the MATLAB command line. - Code Generation for Binary GLM Logistic Regression Model Trained in Classification Learner
This example shows how to train a binary GLM logistic regression model using Classification Learner, and then generate C code that predicts labels using the exported classification model.
Code Generation Applications
- System Objects for Classification and Code Generation
Generate code from a System object™ for making predictions using a trained classification model, and use the System object in a Simulink® model. - Predict Class Labels Using MATLAB Function Block
Generate code from a Simulink model that classifies data using an SVM model. - Predict Class Labels Using Stateflow
Generate code from a Stateflow® model that classifies data using a discriminant analysis classifier.