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, and- codegen(MATLAB Coder) for an object function of a machine learning model.
- Use a coder configurer created by - learnerCoderConfigurerfor- predictand- updateobject functions of a machine learning model. Configure code generation options by using the configurer and update model parameters in the generated code.
- Use - codegenfor 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.

