You can generate efficient C/C++ code for a subset of MATLAB^{®} builtin functions and toolbox functions, classes, and System objects that you call from MATLAB code. These functions, classes, and System objects are listed by MATLAB category or toolbox category in the following tables.
For an alphabetical list of supported functions, classes, and System objects, see Functions and Objects Supported for C/C++ Code Generation — Alphabetical List.
Note: For more information on code generation for fixedpoint algorithms, refer to Code Acceleration and Code Generation from MATLAB. 
C and C++ code generation for the following Aerospace Toolbox quaternion functions requires the Aerospace Blockset™ software.
Function  Remarks and Limitations 

—  
—  
—  
—  
—  
—  
— 
See Array vs. Matrix Operations for detailed descriptions of the following operator equivalent functions.
Function  Remarks and Limitations 

ctranspose  — 
 
—  
—  
—  
—  
If  
—  
 
—  
 
—  
Multiplication of pure imaginary numbers by nonfinite
numbers might not match MATLAB. The code generator does not specialize
multiplication by pure imaginary numbers—it does not eliminate
calculations with the zero real part. For example,  
—  
—  
— 
C and C++ code generation for the following functions and System objects requires the Audio System Toolbox™ software.
Name  Remarks and Limitations 

Audio I/O and Waveform Generation  
System Objects in MATLAB Code Generation Supports MATLAB Function block: Yes  
System Objects in MATLAB Code Generation Supports MATLAB Function block: Yes  
System Objects in MATLAB Code Generation Supports MATLAB Function block: Yes  
System Objects in MATLAB Code Generation Supports MATLAB Function block: Yes  
Audio Processing Algorithm Design  
Supports MATLAB Function block: Yes  
Supports MATLAB Function block: Yes  
Supports MATLAB Function block: Yes  
Supports MATLAB Function block: Yes  
System Objects in MATLAB Code Generation Supports MATLAB Function block: Yes  
System Objects in MATLAB Code Generation Supports MATLAB Function block: Yes  
System Objects in MATLAB Code Generation Supports MATLAB Function block: Yes  
System Objects in MATLAB Code Generation Supports MATLAB Function block: Yes  
System Objects in MATLAB Code Generation Supports MATLAB Function block: Yes  
System Objects in MATLAB Code Generation Supports MATLAB Function block: Yes  
System Objects in MATLAB Code Generation Supports MATLAB Function block: Yes  
System Objects in MATLAB Code Generation Supports MATLAB Function block: Yes  
System Objects in MATLAB Code Generation Supports MATLAB Function block: No Dynamic Memory Allocation must not be turned off.  
System Objects in MATLAB Code Generation Supports MATLAB Function block: Yes  
Audio Plugins  
Supports MATLAB Function block: Yes  
Supports MATLAB Function block: Yes  
Supports MATLAB Function block: Yes  
Supports MATLAB Function block: Yes 
Function  Remarks and Limitations 

—  
Does not support cell arrays.  
—  
—  
—  
—  
—  
 
— 
Function  Remarks and Limitations 

 
—  
Does not support cell arrays.  
 
 
 
Does not support cell arrays.  
 
—  
—  
 
 
 
 
—  
 
 
strcmpi 

strfind 

strjoin  Returns an empty output as a 1by0 character array. 
strjust 

 
 
 
 
 

C and C++ code generation for the following functions and System objects requires the Communications System Toolbox™ software.
Name  Remarks and Limitations 

Input and Output  
—  
Signal and Delay Management  
—  
—  
Display and Visual Analysis  
 
 
 
 
 
Source Coding  
comm.DifferentialDecoder  
comm.DifferentialEncoder  
Cyclic Redundancy Check Coding  
BCH Codes  
All inputs must be constants. Expressions or variables are allowed if their values do not change.  
ReedSolomon Codes  
All inputs must be constants. Expressions or variables are allowed if their values do not change.  
All inputs must be constants. Expressions or variables are allowed if their values do not change.  
LDPC Codes  
Using default properties,  
All inputs must be constants. Expressions or variables are allowed if their values do not change.  
Convolutional Coding  
—  
—  
—  
—  
—  
Signal Operations  
bin2gray  — 
gray2bin  — 
Interleaving  
Frequency Modulation  
Phase Modulation  
comm.BPSKDemodulator  
comm.BPSKModulator  
comm.DBPSKDemodulator  
comm.DBPSKModulator  
comm.DPSKDemodulator  
comm.DPSKModulator  
comm.DQPSKDemodulator  
comm.DQPSKModulator  
comm.OQPSKDemodulator  
comm.OQPSKModulator  
comm.PSKDemodulator  
comm.PSKModulator  
comm.QPSKDemodulator  
comm.QPSKModulator  
dpskdemod  — 
dpskmod  — 
Amplitude Modulation  
comm.GeneralQAMDemodulator  
comm.GeneralQAMModulator  
comm.PAMDemodulator  
comm.PAMModulator  
comm.RectangularQAMDemodulator  
comm.RectangularQAMModulator  
genqamdemod  — 
qammod  — 
qamdemod  — 
Continuous Phase Modulation  
comm.CPFSKDemodulator  
comm.CPFSKModulator  
comm.CPMDemodulator  
comm.CPMModulator  
comm.GMSKDemodulator  
comm.GMSKModulator  
comm.MSKDemodulator  
comm.MSKModulator  
Trellis Coded Modulation  
comm.GeneralQAMTCMDemodulator  
comm.GeneralQAMTCMModulator  
comm.PSKTCMDemodulator  
comm.PSKTCMModulator  
comm.RectangularQAMTCMDemodulator  
comm.RectangularQAMTCMModulator  
Orthogonal FrequencyDivision Modulation  
comm.OFDMDemodulator  
comm.OFDMModulator  
Analog Baseband Modulation  
comm.FMBroadcastDemodulator  
comm.FMBroadcastModulator  
comm.FMDemodulator  
comm.FMModulator  
Filtering  
comm.IntegrateAndDumpFilter  
comm.RaisedCosineReceiveFilter  
comm.RaisedCosineTransmitFilter  
Carrier Phase Synchronization  
comm.CarrierSynchronizer  
comm.CPMCarrierPhaseSynchronizer  
comm.CoarseFrequencyCompensator  
Timing Phase Synchronization  
comm.SymbolSynchronizer  
comm.PreambleDetector  
comm.GMSKTimingSynchronizer  
comm.MSKTimingSynchronizer  
Synchronization Utilities  
comm.DiscreteTimeVCO  
Equalization  
comm.MLSEEqualizer  
MIMO  
comm.LTEMIMOChannel  
comm.MIMOChannel  
comm.OSTBCCombiner  
comm.OSTBCEncoder  
comm.SphereDecoder  
Channel Modeling and RF Impairments  
comm.AGC  
comm.AWGNChannel  
comm.BinarySymmetricChannel  
comm.IQImbalanceCompensator  
comm.LTEMIMOChannel  
comm.MemorylessNonlinearity  
comm.MIMOChannel  
comm.PhaseFrequencyOffset  
comm.PhaseNoise  
comm.RayleighChannel  
comm.RicianChannel  
comm.ThermalNoise  
comm.PSKCoarseFrequencyEstimator  
comm.QAMCoarseFrequencyEstimator  
doppler  All inputs must be constants. Expressions or variables are allowed if their values do not change. 
iqcoef2imbal  — 
iqimbal  — 
iqimbal2coef  — 
Measurements and Analysis  
comm.ACPR  
comm.CCDF  
comm.ErrorRate  
comm.EVM  
comm.MER 
Function  Remarks and Limitations 

—  
—  
—  
—  
—  
—  
—  
—  

C and C++ code generation for the following functions and System objects requires the Computer Vision System Toolbox™ software.
Name  Remarks and Limitations 

Feature Detection, Extraction, and Matching  
BRISKPoints  Supports MATLAB Function block: No To index locations with this object, use the syntax: points.Location(idx,:) ,
for points object. See visionRecovertformCodeGeneration_kernel.m,
which is used in the Introduction to Code Generation with Feature Matching and Registration example. 
cornerPoints  Supports MATLAB Function block: No To index locations with this object, use the syntax: points.Location(idx,:) ,
for points object. See visionRecovertformCodeGeneration_kernel.m,
which is used in the Introduction to Code Generation with Feature Matching and Registration example. 
detectBRISKFeatures  Supports MATLAB Function block: No Generates portable C code using a C++ compiler that links to OpenCV (Version 2.4.9) libraries. Portable C Code Generation for Functions That Use OpenCV Library 
detectFASTFeatures  Supports MATLAB Function block: No Generates portable C code using a C++ compiler that links to OpenCV (Version 2.4.9) libraries. Portable C Code Generation for Functions That Use OpenCV Library 
detectHarrisFeatures  Compiletime constant input: 'FilterSize' Supports MATLAB Function block: No Generated code for this function uses a precompiled platformspecific shared library. 
detectMinEigenFeatures  Compiletime constant input: 'FilterSize' Supports MATLAB Function block: No Generated code for this function uses a precompiled platformspecific shared library. 
detectMSERFeatures  Supports MATLAB Function block: No Generates portable C code using a C++ compiler that links to OpenCV (Version 2.4.9) libraries Portable C Code Generation for Functions That Use OpenCV Library For code generation, the function outputs regions.PixelList as
an array. The region sizes are defined in regions.Lengths . 
detectSURFFeatures  Supports MATLAB Function block: No Generates portable C code using a C++ compiler that links to OpenCV (Version 2.4.9) libraries. Portable C Code Generation for Functions That Use OpenCV Library 
extractFeatures  Compiletime constant input restrictions: 'Method' Supports MATLAB Function block: Yes for Block method
only.Generates portable C code using a C++ compiler that links to OpenCV (Version 2.4.9) libraries for BRISK , FREAK ,
and SURF Methods.Portable C Code Generation for Functions That Use OpenCV Library 
extractHOGFeatures  Supports MATLAB Function block: No 
extractLBPFeatures  Generates platformdependent library: No Supports MATLAB Function block: Yes 
matchFeatures  Generates platformdependent library: Yes for MATLAB host
only when using the Exhaustive method.Generates portable C code for nonhost target only when using the Exhaustive method.Generates portable C code using a C++ compiler that links to OpenCV (Version 2.4.9) libraries when not using the Exhaustive method.Portable C Code Generation for Functions That Use OpenCV Library Compiletime constant input: 'Method‘ and 'Metric' .Supports MATLAB Function block: No 
MSERRegions  Supports MATLAB Function block: Yes For code generation, you must specify both the pixellist cell
array and the length of each array, as the second
input. The object outputs, regions.PixelList as
an array. The region sizes are defined in regions.Lengths .Generated code for this function uses a precompiled platformspecific shared library. 
SURFPoints  Supports MATLAB Function block: No To index locations with this object, use the syntax: points.Location(idx,:) ,
for points object. See visionRecovertformCodeGeneration_kernel.m,
which is used in the Introduction to Code Generation with Feature Matching and Registration example. 
Image Registration and Geometric Transformations  
estimateGeometricTransform  Supports MATLAB Function block: No 
vision.GeometricShearer  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
Object Detection and Recognition  
ocr  Compiletime constant input: 'TextLayout' , 'Language' ,
and 'CharacterSet' .Supports MATLAB Function block: No Generated code for this function uses a precompiled platformspecific shared library. 
ocrText  Supports MATLAB Function block: No 
vision.PeopleDetector  Supports MATLAB Function block: No Generates portable C code using a C++ compiler that links to OpenCV (Version 2.4.9) libraries. Portable C Code Generation for Functions That Use OpenCV Library System Objects in MATLAB Code Generation 
vision.CascadeObjectDetector  Supports MATLAB Function block: No Generates portable C code using a C++ compiler that links to OpenCV (Version 2.4.9) libraries Portable C Code Generation for Functions That Use OpenCV Library System Objects in MATLAB Code Generation 
Tracking and Motion Estimation  
assignDetectionsToTracks  Supports MATLAB Function block: Yes 
opticalFlowFarneback  Supports MATLAB Function block: No Generates portable C code using a C++ compiler that links to OpenCV (Version 2.4.9) libraries. Portable C Code Generation for Functions That Use OpenCV Library 
opticalFlowHS  Supports MATLAB Function block: No 
opticalFlowLKDoG  Supports MATLAB Function block: No 
opticalFlowLK  Supports MATLAB Function block: No 
vision.ForegroundDetector  Supports MATLAB Function block: No For MATLAB host target: Generates platformdependent library For nonMATLAB host target: Generates portable C code System Objects in MATLAB Code Generation 
vision.HistogramBasedTracker  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
vision.KalmanFilter  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
vision.PointTracker  Supports MATLAB Function block: No Generates portable C code using a C++ compiler that links to OpenCV (Version 2.4.9) libraries. Portable C Code Generation for Functions That Use OpenCV Library System Objects in MATLAB Code Generation 
vision.TemplateMatcher  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
Camera Calibration and Stereo Vision  
bboxOverlapRatio  Supports MATLAB Function block: No 
bbox2points  Supports MATLAB® Function block: Yes 
disparity  Compiletime constant input restriction: 'Method' .Supports MATLAB Function block: No Generates portable C code using a C++ compiler that links to OpenCV (Version 2.4.9) libraries. Portable C Code Generation for Functions That Use OpenCV Library 
cameraPoseToExtrinsics  Supports MATLAB Function block: Yes 
cameraMatrix  Supports MATLAB Function block: No 
cameraPose  Supports MATLAB Function block: No 
cameraParameters  Supports MATLAB Function block: No Use the toStruct method
to pass a cameraParameters object into generated
code. See the Code Generation for Depth Estimation From Stereo Video example. 
detectCheckerboardPoints  Supports MATLAB Function block: No Code generation will not support specifying images as file names or cell arrays of file names. It supports only checkerboard detection in a single image or stereo pair of images. For example, these syntaxes are supported:
I1 and I2 are
single grayscale or RGB images. 
epipolarline  Supports MATLAB Function block: Yes 
estimateEssentialMatrix  Supports MATLAB Function block: No 
estimateFundamentalMatrix  Compiletime constant input restriction: 'Method' , 'OutputClass' , 'DistanceType' ,
and 'ReportRuntimeError' .Supports MATLAB Function block: Yes 
estimateUncalibratedRectification  Supports MATLAB Function block: Yes 
estimateWorldCameraPose  Supports MATLAB Function block: No 
extrinsics  Supports MATLAB Function block: No 
extrinsicsToCameraPose  Supports MATLAB Function block: Yes 
generateCheckerboardPoints  Supports MATLAB Function block: No 
isEpipoleInImage  Supports MATLAB Function block: Yes 
lineToBorderPoints  Supports MATLAB Function block: Yes 
reconstructScene  Supports MATLAB Function block: No 
rectifyStereoImages  Compiletime constant input restriction: 'interp' and 'OutputView' Supports MATLAB Function block: No 
relativeCameraPose  Supports MATLAB Function block: No 
rotationMatrixToVector  Supports MATLAB Function block: Yes 
rotationVectorToMatrix  Supports MATLAB Function block: Yes 
selectStrongestBbox  Supports MATLAB Function block: No 
stereoAnaglyph  Supports MATLAB Function block: Yes 
stereoParameters  Supports MATLAB Function block: No Use the toStruct method
to pass a stereoParameters object into generated
code. See the Code Generation for Depth Estimation From Stereo Video example. 
triangulate  Supports MATLAB Function block: No 
undistortImage  Compiletime constant input restriction: 'interp' and 'OutputView' Supports MATLAB Function block: No 
Statistics  
vision.Autocorrelator  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
vision.BlobAnalysis  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
vision.Crosscorrelator  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
vision.LocalMaximaFinder  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
vision.Maximum  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
vision.Mean  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
vision.Median  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
vision.Minimum  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
vision.StandardDeviation  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
vision.Variance  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
Filters, Transforms, and Enhancements  
integralImage  Supports MATLAB Function block: Yes 
vision.Convolver  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
vision.DCT  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
vision.Deinterlacer  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
vision.FFT  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
vision.HoughLines  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
vision.IDCT  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
vision.IFFT  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
vision.MedianFilter  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
vision.Pyramid  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
Video Loading, Saving, and Streaming  
vision.DeployableVideoPlayer  Supports MATLAB Function block: Yes Generated code for this function uses a precompiled platformspecific shared library. System Objects in MATLAB Code Generation 
vision.VideoFileReader  Supports MATLAB Function block: Yes Generated code for this function uses a precompiled platformspecific shared library. System Objects in MATLAB Code Generation Does not generate code for reading compressed images on the Mac. 
vision.VideoFileWriter  Supports MATLAB Function block: Yes Generated code for this function uses a precompiled platformspecific shared library. System Objects in MATLAB Code Generation 
Color Space Formatting and Conversions  
vision.ChromaResampler  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
vision.DemosaicInterpolator  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
vision.GammaCorrector  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
Graphics  
insertMarker  Compiletime constant input: 'Shape' and 'Color' Supports MATLAB Function block: Yes 
insertShape  Compiletime constant input: 'Color' and 'SmoothEdges' Supports MATLAB Function block: Yes 
insertObjectAnnotation  Supports MATLAB Function block: Yes Limitation: Input image must be bounded, see Specify VariableSize Data Without Dynamic Memory Allocation System Objects in MATLAB Code Generation 
insertText  Compiletime constant input: Font , FontSize Supports nonASCII characters: No Supports MATLAB Function block: Yes 
vision.AlphaBlender  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
vision.MarkerInserter  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
vision.ShapeInserter  Supports MATLAB Function block: Yes System Objects in MATLAB Code Generation 
Function  Remarks and Limitations 

—  
—  
—  
—  
—  
Treated as a  
—  
 
— 
C and C++ code generation for the following functions requires the Control System Toolbox™ software.
Name  Remarks and Limitations 

For more information, see Generate Code for Online State Estimation in MATLAB. Supports MATLAB Function block: No  
For more information, see Generate Code for Online State Estimation in MATLAB. Supports MATLAB Function block: No 
Function  Remarks and Limitations 

 
—  
—  
 
 
 
—  
 
When the MATLAB behavior differs from the C compiler
behavior, the generated code usually matches the C compiler behavior.
For example, if you use  
 

Function  Remarks and Limitations 

—  
Does not support objects. The input must be a structure.  
—  
—  
Does not support cell arrays for the second argument.  
—  
—  
—  
—  
 
 
 

Function  Remarks and Limitations 

 
 

Function  Remarks and Limitations 

 
—  
 
—  
 

C code generation for the following functions and System objects requires the DSP System Toolbox™ license. Many DSP System Toolbox functions require constant inputs for code generation.
Name  Remarks and Limitations 

Estimation  
 
 
 
 
Filters  
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
System Objects in MATLAB Code Generation The System object supports
code generation only when the  
 
 
 
 
 
dsp.LowpassFilter  
dsp.MedianFilter  
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
 
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
 
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
 
 
 
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
Filter Design  
The inputs to the function must be constants  
Math Operations  
dsp.UpperTriangularSolver  
Quantizers  
Scopes  
 
 
 
Signal Management  
Signal Operations  
 
Sinks  
 
 
 
Sources  
 
 
 
Statistics  
 
Transforms  
 

Function  Remarks and Limitations 

 
For standalone code generation, excluded from the generated code. 
Function  Remarks and Limitations 

—  
—  
—  
—  
 
—  
—  
—  
—  
—  
—  
—  
—  

Function  Remarks and Limitations 

—  
—  
—  
—  
 
—  
— 
In addition to functionspecific limitations listed in the table,
the following general limitations apply to the use of FixedPoint Designer™ functions
in generated code, with fiaccel
:
fipref
and quantizer
objects
are not supported.
Word lengths greater than 128 bits are not supported.
You cannot change the fimath
or numerictype
of
a given fi
variable after that variable has been
created.
The boolean
value of the DataTypeMode
and DataType
properties
are not supported.
For all SumMode
property
settings other than FullPrecision
, the CastBeforeSum
property
must be set to true
.
You can use parallel for (parfor
)
loops in code compiled with fiaccel
, but those
loops are treated like regular for
loops.
When you compile code containing fi
objects
with nontrivial slope and bias scaling, you may see different results
in generated code than you achieve by running the same code in MATLAB.
The general limitations of C/C++ code generated from MATLAB apply. For more information, see MATLAB Language Features Supported for C/C++ Code Generation.
Function  Remarks/Limitations 

N/A  
N/A  
N/A  
 
N/A  
N/A  
N/A  
Not supported for slopebias scaled  
N/A  
N/A  
N/A  
N/A  
Not supported for slopebias
scaled  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
Generated code may not handle out of range shifting.  
Generated code may not handle out of range shifting.  
Generated code may not handle out of range shifting.  
Not supported for slopebias
scaled  
N/A  
N/A  
N/A  
N/A  
 
N/A  
Variablesize signals are not supported.  
Variablesize signals are not supported.  
Variablesize signals are not supported.  
Variablesize signals are not supported.  
Variablesize signals are not supported.  
Variablesize signals are not supported.  
Variablesize signals are not supported.  
Variablesize signals are not supported.  
Variablesize signals are not supported.  
Variablesize signals are not supported.  
Variablesize signals are not supported.  
N/A  
N/A  
If supplied, the index, k,
must be a real and scalar integer value that is not a  
 
For the automated workflow, do not use explicit double or single casts in your MATLAB algorithm to insulate functions that do not support fixedpoint data types. The automated conversion tool does not support these casts. Instead of using casts, supply a replacement function. For more information, see Function Replacements.  
N/A  
 
Not supported for fixedpoint signals with different biases.  
 
 
 
N/A  
N/A  
The dimensions argument
must be a builtin type; it cannot be a  
N/A  
N/A  
N/A  
N/A  
Not supported for fixedpoint signals with different biases.  
The syntax  
N/A  
N/A  
Not supported for fixedpoint signals with different biases.  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
Avoid using the  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
Not supported for fixedpoint signals with different biases.  
N/A  
N/A  
N/A  
 
Not supported for fixedpoint signals with different biases.  
N/A  
N/A  
N/A  
N/A  
Any
non  
 
 
N/A  
 
N/A  
Not supported for fixedpoint signals with different biases.  
N/A  
 
N/A  
 
The dimensions argument
must be a builtin type; it cannot be a  
Any
non  
N/A  
When the exponent  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
The dimensions argument
must be a builtin type; it cannot be a  
N/A  
N/A  
In the syntax  
N/A  
N/A  
 
The dimensions argument
must be a builtin type; it cannot be a  
N/A  
N/A  
For the automated workflow, do not use explicit double or single casts in your MATLAB algorithm to insulate functions that do not support fixedpoint data types. The automated conversion tool does not support these casts. Instead of using casts, supply a replacement function. For more information, see Function Replacements.  
N/A  
The dimensions argument
must be a builtin type; it cannot be a  
N/A  
 
N/A  
N/A  
 
N/A  
N/A  
Variablesized inputs
are only supported when the  
 
N/A  
If supplied, the index, k,
must be a real and scalar integer value that is not a  
If supplied, the index, k,
must be a real and scalar integer value that is not a  
 
N/A  
N/A  
N/A  
N/A  
N/A 
Function  Remarks and Limitations 

This System object is available with MATLAB. 
Function  Remarks and Limitations 

For the syntax
 

If you install Image Acquisition Toolbox™ software, you can
generate C and C++ code for the VideoDevice System object. See imaq.VideoDevice
and Code Generation with VideoDevice System Object.
The following table lists the Image Processing Toolbox™ functions that have been enabled for code generation. You must have the MATLAB Coder™ software installed to generate C code from MATLAB for these functions.
Image Processing Toolbox provides three types of code generation support:
Functions that generate C code.
Functions that generate C code that depends on a platformspecific
shared library (.dll
, .so
, or .dylib
).
Use of a shared library preserves performance
optimizations in these functions, but this limits the target platforms
for which you can generate code. For more information, see Code Generation for Image Processing.
Functions that generate C code or C code that depends
on a shared library, depending on which target platform you specify
in MATLAB Coder. If you specify the generic MATLAB Host
Computer
target platform, these functions generate C code
that depends on a shared library. If you specify any
other target platform, these functions generate C code.
In generated code, each supported toolbox function has the same name, arguments, and functionality as its Image Processing Toolbox counterpart. However, some functions have limitations. The following table includes information about code generation limitations that might exist for each function. In the following table, all the functions generate C code. The table identifies those functions that generate C code that depends on a shared library, and those functions that can do both, depending on which target platform you choose.
Function  Remarks/Limitations 

adaptthresh  The If you choose the generic MATLAB Function Block support: Yes.
The 
affine2d  When generating code, you can only specify single objects—arrays of objects are not supported. MATLAB Function Block support: Yes. 
boundarymask  The If you choose the generic MATLAB Function Block support: Yes. 
bwareaopen 
MATLAB Function Block support: No. 
bwboundaries  The If you choose
the generic MATLAB Function Block support: No. 
bwconncomp  The input image must be 2D. The The MATLAB Function Block support: No. 
bwdist  The Generated code for this function uses a precompiled, platformspecific shared library. MATLAB Function Block support: Yes. 
If you choose the generic MATLAB Function Block support: Yes.  
When generating code, the parameter MATLAB Function Block support: No.  
For best results, specify an input image of class If
you choose the generic MATLAB Function Block support: Yes.  
The character vector specifying the operation must be
a constant and, for best results, specify an input image of class If
you choose the generic MATLAB Function Block support: No.  
bwpack  Generated code for this function uses a precompiled platformspecific shared library. MATLAB Function Block support: Yes. 
Supports only 2D images. Does not support any
nooutputargument syntaxes. The connectivity
matrix input argument, If you choose the generic MATLAB Function Block support: Yes.  
bwselect  Supports only the 3 and 4 input argument syntaxes: If
you choose the generic MATLAB Function Block support: Yes. 
bwtraceboundary  The MATLAB Function Block support: No. 
bwunpack  Generated code for this function uses a precompiled platformspecific shared library. MATLAB Function Block support: Yes.
The input argument 
Input arguments must be compiletime constants. MATLAB Function Block support: Yes.  
demosaic  The MATLAB Function Block support: Yes. 
edge  The If
you choose the generic MATLAB Function Block support: Yes.
The input arguments 
fitgeotrans  The MATLAB Function Block support: Yes. 
Inputs must be compiletime constants. Expressions or variables are allowed if their values do not change. MATLAB Function
Block support: Yes. The input arguments  
getrangefromclass  MATLAB Function Block support: Yes. 
grayconnected  If you choose the generic MATLAB Host Computer target
platform, generated code uses a precompiled, platformspecific shared
library.MATLAB Function Block support: Yes. 
histeq  All the syntaxes that
include indexed images are not supported. This includes all
syntaxes that accept If
you choose the generic MATLAB Function Block support: Yes.
The input argument 
hough  The optional parameter names MATLAB Function Block support:
Yes. The input argument 
houghlines  The optional parameter names MATLAB Function Block support: No. 
houghpeaks  The optional parameter names MATLAB Function Block support: Yes. 
im2int16  If you choose the generic MATLAB Function Block support: Yes. 
im2uint8  If you choose the generic MATLAB Function Block support: Yes. 
im2uint16  If you choose the generic MATLAB Host Computer target
platform, generated code uses a precompiled, platformspecific shared
library.MATLAB Function Block support: Yes. 
im2single  MATLAB Function Block support: Yes. 
im2double  MATLAB Function Block support: Yes. 
imabsdiff  MATLAB Function Block support: Yes. 
imadjust  Does not support syntaxes that include indexed images.
This includes all syntaxes that accept If you choose
the generic MATLAB Function Block support: Yes. 
imbinarize  Character vector input arguments must be compiletime constants. If you choose the generic MATLAB Function Block support: Yes. 
imbothat  The input image If you choose the generic MATLAB Function Block support: Yes. 
imboxfilt  MATLAB Function Block support: Yes. 
imclearborder  The optional second input argument, If
you choose the generic MATLAB Function Block support: Yes. 
imclose  The input image If you choose the generic MATLAB Function Block support: Yes. 
Does not support MATLAB Function Block support: Yes.  
imcrop  The interactive syntaxes, such as I2 = imcrop ,
are not supported. Indexed images are not supported, including the
noninteractive syntax X2 = imcrop(X,map,rect); .MATLAB Function Block support: Yes. 
imdilate  The input image If
you choose the generic MATLAB Function Block support: Yes. 
imerode  The input image If
you choose the generic MATLAB Function Block support: Yes. 
imextendedmax  The optional third input argument, If you choose the generic MATLAB Function Block support: Yes. 
imextendedmin  The optional third input argument, If you choose the generic MATLAB Function Block support: Yes. 
The optional input connectivity, Supports only up to 3D inputs. The
interactive mode to select points,
If you choose the generic MATLAB Function Block support: Yes.  
imfilter  The input image can be either 2D or 3D. The value of
the input argument, If you choose the generic MATLAB Function Block support: Yes. 
imfindcircles  All character vector input arguments and values must be compiletime constants. If you choose the generic MATLAB Function Block support: No. 
imgaborfilt  The The filter bank syntax is not supported. MATLAB Function Block support: Yes. 
imgaussfilt  Character vector input arguments must be compiletime constants. When MATLAB Function Block support: Yes. 
imgradient3  Character vector input arguments must be compiletime constants. MATLAB Function Block support: Yes. 
imgradientxyz  Character vector input arguments must be compiletime constants. MATLAB Function Block support: Yes. 
imhist  The optional second input argument, If you choose the generic MATLAB Function Block support: Yes.
The input argument 
The optional third input argument, If you choose the generic MATLAB Function Block support: Yes.  
The optional third input argument, If you choose the generic MATLAB Function Block support: Yes.  
imlincomb  The If
you choose the generic MATLAB Function Block support: Yes. 
immse  MATLAB Function Block support: Yes. 
imopen  The input image If you choose the generic MATLAB Function Block support: Yes. 
imoverlay  If you specify the MATLAB Function Block support: Yes. 
impyramid  The MATLAB Function Block support: Yes. The input argument direction must be a compiletime constant. 
imquantize  MATLAB Function Block support: Yes. 
imread  Supports reading of 8bit JPEG images only. The file name input argument must be a valid absolute path or relative path. This function generates code that uses a precompiled, platformspecific shared library. MATLAB Function Block support: Yes. The file name input argument must be a compiletime constant. 
The optional third input argument, If you choose the generic MATLAB Function Block support: Yes.  
imref2d  The MATLAB Function Block support: Yes. 
imref3d  The MATLAB Function Block support: Yes. 
The optional second input argument, If you choose the generic MATLAB Function Block support: Yes.  
The optional second input argument, If you choose the generic MATLAB Function Block support: Yes.  
imresize  Does not support indexed images or custom interpolation kernels. All parametervalue pair input arguments must be compiletime constants. MATLAB Function Block support: Yes. The
input arguments 
imrotate  The If you
choose the generic MATLAB Function Block support: Yes.
The input argument 
imtophat  The input image If you choose the generic MATLAB Function Block support: Yes. 
imtranslate  The supports only 2D translation vectors. 3D translations are not supported If you choose the generic MATLAB Function Block support: Yes.
The input argument 
imwarp  The geometric transformation object input, If you choose the
generic MATLAB Function Block support: Yes.
The input argument 
integralBoxFilter  The MATLAB Function
Block support: Yes. The input argument 
intlut  If you choose the generic MATLAB Function Block support: Yes. 
Input arguments must be compiletime constants. MATLAB Function Block support: Yes.  
iptcheckmap  MATLAB Function Block support: Yes. 
lab2rgb  Character vector input arguments must be compiletime constants. MATLAB Function Block support: Yes. 
label2idx  MATLAB Function Block support: No. 
Referring to the standard syntax: RGB = label2rgb(L, map, zerocolor, order)
MATLAB Function Block support: Yes.  
mean2  MATLAB Function Block support: Yes. 
medfilt2  The If you choose the generic MATLAB Function Block support: Yes. The neighborhood size input argument must be a compiletime constant. 
multithresh  If you choose the generic MATLAB Function Block support: Yes.
The input argument 
offsetstrel  The MATLAB Function Block support: Yes. 
ordfilt2  The If you choose the generic MATLAB Function Block support: Yes. 
otsuthresh  MATLAB Function Block support: Yes. 
padarray  Support only up to 3D inputs. Input arguments, MATLAB Function
Block support: Yes. The input argument 
projective2d  When generating code, you can only specify single objects—arrays of objects are not supported. MATLAB Function Block support: Yes. 
psnr  MATLAB Function Block support: Yes. 
Supports only 2D images. Does not support the table
output type. Does not accept cell arrays as input—use a commaseparated
list instead. Does not support the properties If you choose the
generic MATLAB Function Block support: No.  
rgb2gray  MATLAB Function Block support: Yes. 
rgb2lab  Character vector input arguments must be compiletime constants. MATLAB Function Block support: Yes. 
rgb2ycbcr  If you choose the generic MATLAB Function Block support: Yes. 
strel  All of the input arguments must be compiletime constants. None of the methods are supported for code generation. When generating code, you can only specify single objects—arrays of objects are not supported. MATLAB Function Block support: Yes. 
stretchlim  If you choose the generic MATLAB Function Block support: Yes. 
superpixels  Character vector input arguments must be compiletime
constants. The value of MATLAB Function Block support: No. 
Supports only 2D images. Supports only 4 or 8connectivity.
Supports only up to 65,535 regions. The output type is always If
you choose the generic MATLAB Function Block support: No.  
ycbcr2rgb  If you choose the generic MATLAB Function Block support: Yes. 
Function  Remarks and Limitations 

—  
—  
Supports singleprecision and doubleprecision inputs, but uses doubleprecision arithmetic even if all inputs are singleprecision.  
 
Might not match MATLAB when some  
 
 
 
—  
 
 
—  
—  
The size of output
The code generator does not remove the singleton dimensions. However, MATLAB might remove singleton dimensions. For
example, suppose that  
—  
—  
 

Function  Remarks and Limitations 

—  
—  
—  
—  
—  
—  
—  
 
 
 
 
—  
Can return a different Schur decomposition in generated code than in MATLAB.  
— 
C and C++ code generation for the following functions requires the MATLAB Compiler™ software.
Function  Remarks and Limitations 

 

Function  Remarks and Limitations  

—  
VariableSizing Restrictions for Code Generation of Toolbox Functions  
—  
VariableSizing Restrictions for Code Generation of Toolbox Functions  
—  
bsxfun  VariableSizing Restrictions for Code Generation of Toolbox Functions  
cat 
 
Does not support cell arrays for the first argument.  
 
compan  —  
cond  VariableSizing Restrictions for Code Generation of Toolbox Functions  
cov 
 
 
Does not support logical inputs. Cast input to  
Does not support logical inputs. Cast input to  
—  
 
 
—  
 
 
 
 
Does not support cell arrays for the first argument.  
Does not support cell arrays for the first argument.  
Does not support cell arrays.  
Does not support cell arrays.  
—  
 
—  
—  
 
Singular matrix inputs can produce nonfinite values that differ from MATLAB results.  
—  
 
—  
—  
—  
—  
—  
—  
—  
—  
—  
—  
—  
—  
—  
—  
—  
—  
—  
—  
—  
VariableSizing Restrictions for Code Generation of Toolbox Functions.  
 
 
—  
—  
—  
—  
—  
—  
—  
 
—  
 
—  
VariableSizing Restrictions for Code Generation of Toolbox Functions  
 
—  
 
 
 
—  
—  
—  
The input must be a vector or matrix. The input cannot be a multidimensional array.  
Size arguments must have a fixed size.  
 
 
—  
Does not support cell arrays for the first argument.  
 
—  
—  
 
 
Does not support cell arrays.  
 
—  
 
—  
—  
 
 
 
—  
 

You can use genFunction
in
the Neural Network Toolbox™ to generate a standalone MATLAB function
for a trained neural network. You can generate C/C++ code from this
standalone MATLAB function. To generate Simulink blocks,
use the genSim
function. See Deploy Trained Neural Network Functions.
Function  Remarks and Limitations 

—  
—  
 
—  
 
 
The  
All inputs must be constant.  
 
—  

Function  Remarks and Limitations 

 
 
 
Input parameter names must be constant.  

C and C++ code generation for the following functions and System objects requires the Phased Array System Toolbox™ software.
Name  Remarks and Limitations 

Antenna and Microphone Elements  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
phased.CosineAntennaElement 

phased.CrossedDipoleAntennaElement 

phased.CustomAntennaElement 

phased.CustomMicrophoneElement 

phased.IsotropicAntennaElement 

phased.OmnidirectionalMicrophoneElement 

phased.ShortDipoleAntennaElement 

Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
 
 
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Array Geometries and Analysis  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
phased.ArrayGain 

phased.ArrayResponse  See System Objects in MATLAB Code Generation. 
phased.ConformalArray 

phased.ElementDelay  See System Objects in MATLAB Code Generation. 
phased.PartitionedArray 

phased.ReplicatedSubarray 

phased.SteeringVector  See System Objects in MATLAB Code Generation. 
phased.UCA 

phased.ULA 

phased.URA 

Does not support variablesize inputs.  
Signal Radiation and Collection  
phased.Collector  See System Objects in MATLAB Code Generation. 
phased.Radiator  See System Objects in MATLAB Code Generation. 
phased.WidebandCollector 

phased.WidebandRadiator  See System Objects in MATLAB Code Generation. 
Does not support variablesize inputs.  
Transmitters and Receivers  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
phased.ReceiverPreamp  See System Objects in MATLAB Code Generation. 
phased.Transmitter  See System Objects in MATLAB Code Generation. 
Does not support variablesize inputs.  
Waveform Design and Analysis  
 
 
phased.FMCWWaveform 

phased.LinearFMWaveform 

phased.MFSKWaveform 

phased.PhaseCodedWaveform 

phased.RectangularWaveform 

phased.SteppedFMWaveform 

Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Beamforming  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
phased.FrostBeamformer 

phased.GSCBeamformer  See System Objects in MATLAB Code Generation. 
phased.LCMVBeamformer  See System Objects in MATLAB Code Generation. 
phased.MVDRBeamformer  See System Objects in MATLAB Code Generation. 
phased.PhaseShiftBeamformer  See System Objects in MATLAB Code Generation. 
phased.SteeringVector  See System Objects in MATLAB Code Generation. 
phased.SubbandMVDRBeamformer  See System Objects in MATLAB Code Generation. 
phased.SubbandPhaseShiftBeamformer  See System Objects in MATLAB Code Generation. 
phased.TimeDelayBeamformer 

phased.TimeDelayLCMVBeamformer 

Does not support variablesize inputs.  
Does not support variablesize inputs.  
Direction of Arrival (DOA) Estimation  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
phased.BeamscanEstimator  See System Objects in MATLAB Code Generation. 
phased.BeamscanEstimator2D  See System Objects in MATLAB Code Generation. 
phased.BeamspaceESPRITEstimator  See System Objects in MATLAB Code Generation. 
phased.ESPRITEstimator  See System Objects in MATLAB Code Generation. 
phased.GCCEstimator  See System Objects in MATLAB Code Generation. 
phased.MUSICEstimator  See System Objects in MATLAB Code Generation. 
phased.MUSICEstimator2D  See System Objects in MATLAB Code Generation. 
phased.MVDREstimator  See System Objects in MATLAB Code Generation. 
phased.MVDREstimator2D  See System Objects in MATLAB Code Generation. 
phased.RootMUSICEstimator  See System Objects in MATLAB Code Generation. 
phased.RootWSFEstimator  See System Objects in MATLAB Code Generation. 
phased.SumDifferenceMonopulseTracker  See System Objects in MATLAB Code Generation. 
phased.SumDifferenceMonopulseTracker2D  See System Objects in MATLAB Code Generation. 
Does not support variablesize inputs.  
Does not support variablesize inputs.  
SpaceTime Adaptive Processing (STAP)  
Does not support variablesize inputs.  
phased.ADPCACanceller  See System Objects in MATLAB Code Generation. 
phased.AngleDopplerResponse  See System Objects in MATLAB Code Generation. 
phased.DPCACanceller  See System Objects in MATLAB Code Generation. 
phased.STAPSMIBeamformer  See System Objects in MATLAB Code Generation. 
Does not support variablesize inputs.  
Detection, Range, and Doppler Estimation  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
phased.CFARDetector  
phased.CFARDetector2D  
phased.MatchedFilter 

phased.RangeDopplerResponse 

phased.StretchProcessor  
phased.TimeVaryingGain  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
 
Does not support variablesize inputs.  
Does not support variablesize inputs.  
 
 
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Targets, Interference, and Signal Propagation  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
phased.BackscatterRadarTarget  See System Objects in MATLAB Code Generation 
phased.BarrageJammer  See System Objects in MATLAB Code Generation. 
phased.ConstantGammaClutter  See System Objects in MATLAB Code Generation. 
phased.FreeSpace 

phased.LOSChannel  See System Objects in MATLAB Code Generation 
phased.RadarTarget  See System Objects in MATLAB Code Generation. 
phased.TwoRayChannel  See System Objects in MATLAB Code Generation. 
phased.WidebandFreeSpace  See System Objects in MATLAB Code Generation. 
phased.WidebandBackscatterRadarTarget  See System Objects in MATLAB Code Generation. 
phased.WidebandLOSChannel  See System Objects in MATLAB Code Generation 
phased.WidebandTwoRayChannel  See System Objects in MATLAB Code Generation 
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Motion Modeling and Coordinate Systems  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
phased.Platform  See System Objects in MATLAB Code Generation. 
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs.  
Does not support variablesize inputs. 
Function  Remarks and Limitations 

 
The output can contain fewer  
 
VariableSizing Restrictions for Code Generation of Toolbox Functions  
—  
—  
—  

C/C++ code generation for the following functions requires the Robotics System Toolbox™ software.
Name  Remarks and Limitations 

Algorithm Design  
robotics.BinaryOccupancyGrid  Supports MATLAB Function block: No 
robotics.OccupancyGrid  Supports MATLAB Function block: No 
robotics.OdometryMotionModel  Supports MATLAB Function block: No 
robotics.ParticleFilter  Supports MATLAB Function block: No 
robotics.PRM  Supports MATLAB Function block: No The 
robotics.PurePursuit  Supports MATLAB Function block: No 
robotics.VectorFieldHistogram  Supports MATLAB Function block: No 
Coordinate System Transformations  
angdiff  Supports MATLAB Function block: Yes 
axang2quat  Supports MATLAB Function block: Yes 
axang2rotm  Supports MATLAB Function block: Yes 
axang2tform  Supports MATLAB Function block: Yes 
cart2hom  Supports MATLAB Function block: Yes 
eul2quat  Supports MATLAB Function block: Yes 
eul2rotm  Supports MATLAB Function block: Yes 
eul2tform  Supports MATLAB Function block: Yes 
hom2cart  Supports MATLAB Function block: Yes 
quat2axang  Supports MATLAB Function block: Yes 
quat2eul  Supports MATLAB Function block: Yes 
quat2rotm  Supports MATLAB Function block: Yes 
quat2tform  Supports MATLAB Function block: Yes 
rotm2axang  Supports MATLAB Function block: Yes 
rotm2eul  Supports MATLAB Function block: Yes 
rotm2quat  Supports MATLAB Function block: Yes 
rotm2tform  Supports MATLAB Function block: Yes 
tform2axang  Supports MATLAB Function block: Yes 
tform2eul  Supports MATLAB Function block: Yes 
tform2quat  Supports MATLAB Function block: Yes 
tform2rotm  Supports MATLAB Function block: Yes 
tform2trvec  Supports MATLAB Function block: Yes 
trvec2tform  Supports MATLAB Function block: Yes 
Function  Remarks and Limitations 

—  
—  
—  
 
 
Supports only the syntax 
Function  Remarks and Limitations 

 
 
 
 
 
 

Function  Remarks and Limitations 

—  
—  
—  
The  
—  
 
—  
 
Does not support the  
 
—  
Uses a different  
— 
C and C++ code generation for the following functions requires the Signal Processing Toolbox™ software. These functions do not support variablesize inputs, you must define the size and type of the function inputs. For more information, see Specifying Inputs in Code Generation from MATLAB .
Note:
Many Signal Processing Toolbox functions require constant
inputs in generated code. To specify a constant input for 
Function  Remarks/Limitations 

Window length must be a constant. Expressions or variables are allowed if their values do not change.  
Window length must be a constant. Expressions or variables are allowed if their values do not change.  
besselap  Filter order must be a constant. Expressions or variables are allowed if their values do not change. 
—  
Window length must be a constant. Expressions or variables are allowed if their values do not change.  
Window length must be a constant. Expressions or variables are allowed if their values do not change.  
Window length must be a constant. Expressions or variables are allowed if their values do not change.  
Filter order must be a constant. Expressions or variables are allowed if their values do not change.  
Filter coefficients must be constants. Expressions or variables are allowed if their values do not change.  
All inputs must be constants. Expressions or variables are allowed if their values do not change.  
All inputs must be constants. Expressions or variables are allowed if their values do not change.  
All inputs must be constants. Expressions or variables are allowed if their values do not change.  
All inputs must be constants. Expressions or variables are allowed if their values do not change.  
All inputs must be constants. Expressions or variables are allowed if their values do not change.  
All inputs must be constants. Expressions or variables are allowed if their values do not change.  
All inputs must be constants. Expressions or variables are allowed if their values do not change.  
All Inputs must be constants. Expressions or variables are allowed if their values do not change.  
All inputs must be constants. Expressions or variables are allowed if their values do not change.  
—  
C and C++ code generation for Length of transform dimension must be a power of two. If specified, the pad or truncation value must be constant. Expressions or variables are allowed if their values do not change.  
—  
All inputs must be constants. Expressions or variables are allowed if their values do not change.  
Inputs must be constant. Expressions or variables are allowed if their values do not change.  
All inputs must be constants. Expressions or variables are allowed if their values do not change.  
All inputs must be constants. Expressions or variables are allowed if their values do not change.  
Filter coefficients must be constants. Expressions or variables are allowed if their values do not change. Code generation does not support secondorder sections as input. You must use transfer functions.  
—  
All inputs must be constants. Expressions or variables are allowed if their values do not change.  
All inputs must be constants. Expressions or variables are allowed if their values do not change.  
All inputs must be constants. Expressions or variables are allowed if their values do not change.  
All inputs must be constants. Expressions or variables are allowed if their values do not change.  
All inputs must be constants. Expressions or variables are allowed if their values do not change.  
All inputs must be constants. Expressions or variables are allowed if their values do not change.  
All inputs must be constants. Expressions or variables are allowed if their values do not change.  
All inputs must be constants. Expressions or variables are allowed if their values do not change.  
 
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
C and C++ code generation for Length of transform dimension must be a power of two. If specified, the pad or truncation value must be constant. Expressions or variables are allowed if their values do not change.  
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
—  
C and C++ code generation for If specified, the order of recursion must be a constant. Expressions or variables are allowed if their values do not change.  
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
—  
—  
—  
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
C and C++ code generation for The upsampling and downsampling factors must be specified as constants. Expressions or variables are allowed if their values do not change.  
—  
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
—  
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
All inputs must be constant. Expressions or variables are allowed if their values do not change.  
C and C++ code generation for Filter coefficients, upsampling factor, and downsampling factor must be constants. Expressions or variables are allowed if their values do not change. Variablesize inputs are not supported.  
Either declare input assert(n<10)  
Leading ones in  
If specified, the order of recursion must be a constant. Expressions or variables are allowed if their values do not change. 
Function  Remarks and Limitations 

 
 
—  
—  
NaN or 

—  
—  
— 
Function  Remarks and Limitations 

Always returns a complex result.  
 
 
—  
Always returns a complex result.  
Always returns a complex result.  
—  
—  
—  
—  
—  
—  
—  
—  
—  
Output is always complex.  
Output is always complex.  
—  
— 
Function  Remarks and Limitations 

 
—  
—  
 
 
 
 

C and C++ code generation for the following functions requires the Statistics and Machine Learning Toolbox™ software.
Function  Remarks and Limitations  

Descriptive Statistics and Visualization  
geomean  —  
harmmean  —  
iqr  —  
kurtosis  —  
Input  
If  
If the input is variablesize and is  
—  
—  
—  
—  
—  
—  
—  
 
—  
—  
—  
Probability Distributions  
—  
—  
—  
—  
—  
Can return a different sequence of numbers than MATLAB if either of the following is true:
 
—  
—  
—  
—  
Can return a different sequence of numbers than MATLAB if either of the following is true:
 
—  
—  
—  
—  
—  
Can return a different sequence of numbers than MATLAB if either of the following is true:
 
—  
—  
—  
—  
Can return a different sequence of numbers than MATLAB if either of the following is true:
 
—  
—  
—  
—  
Can return a different sequence of numbers than MATLAB if either of the following is true:
 
—  
—  
—  
—  
Can return a different sequence of numbers than MATLAB if either of the following is true:
 
—  
—  
—  
—  
Can return a different sequence of numbers than MATLAB if either of the following is true:
 
—  
—  
—  
—  
Can return a different sequence of numbers than MATLAB if either of the following is true:
 
—  
—  
—  
—  
Can return a different sequence of numbers than MATLAB if either of the following is true:
 
—  
—  
—  
—  
Can return a different sequence of numbers than MATLAB if either of the following is true:
 
—  
—  
—  
—  
Can return a different sequence of numbers than MATLAB if either of the following is true:
 
—  
—  
—  
—  
—  
Can return a different sequence of numbers than MATLAB if either of the following is true:
 
—  
—  
—  
—  
Can return a different sequence of numbers than MATLAB if either of the following is true:
 
—  
—  
—  
—  
Can return a different sequence of numbers than MATLAB if either of the following is true:
 
—  
—  
—  
—  
Can return a different sequence of numbers than MATLAB if either of the following is true:
 
—  
—  
Can return a different sequence of numbers than MATLAB if either of the following is true:
 
—  
—  
—  
—  
Can return a different sequence of numbers than MATLAB if either of the following is true:
 
—  
—  
Matches MATLAB only when generated output  
—  
—  
—  
Can return a different sequence of numbers than MATLAB if either of the following is true:
 
—  
—  
—  
When sampling without replacement, the order of the output values might not match MATLAB.  
—  
—  
—  
Can return a different sequence of numbers than MATLAB if either of the following is true:
 
—  
—  
—  
—  
Can return a different sequence of numbers than MATLAB if either of the following is true:
 
—  
—  
—  
—  
Can return a different sequence of numbers than MATLAB if either of the following is true:
 
—  
—  
—  
—  
Can return a different sequence of numbers than MATLAB if either of the following is true:
 
—  
—  
—  
—  
Can return a different sequence of numbers than MATLAB if either of the following is true:
 
—  
Cluster Analysis  
 
Classification  
loadCompactModel  Supports these classification model objects saved to a file
using saveCompactModel .
 
ClassificationECOC or CompactClassificationECOC  When you train one of these models using fitcecoc or
Classification Learner:
 
ClassificationLinear  When you train one of these models using fitclinear :
 
ClassificationSVM or CompactClassificationSVM  When you train one of these models using fitcsvm or
Classification Learner:
 
predict method of ClassificationECOC and CompactClassificationECOC 
 
predict method of ClassificationLinear 
 
predict method of ClassificationSVM and CompactClassificationSVM 
 
Dimensionality Reduction  

C and C++ code generation for the following functions and System objects requires the System Identification Toolbox™ software.
Name  Remarks and Limitations 

For more information, see Generate Code for Online State Estimation in MATLAB. Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
For more information, see Generate Code for Online State Estimation in MATLAB. Supports MATLAB Function block: No 
Function  Remarks and Limitations 

When
the input value  
—  
 
—  
—  
—  
—  
—  
—  
—  
—  
—  
 
—  
—  
—  
—  
—  
—  
Generates
an error during simulation and returns  
—  
—  
—  
—  
 
—  
—  
 
—  
—  
—  
—  
—  
 
—  
—  
—  
—  
—  
 
— 
C and C++ code generation for the following functions requires the Wavelet Toolbox™ software.
Name  Remarks and Limitations 

Signal Analysis  
Variablesize data support must be enabled. Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Variablesize data support must be enabled. Supports MATLAB Function block: No  
The generated code can return a column vector when MATLAB returns a row vector if all of the following conditions are true:
Code generation does not produce a warning or error message about the shape mismatch. In the output vector that the generated code returns, the values match the values in the output vector that MATLAB returns. In
this case, to generate code that returns a row vector, pass Supports MATLAB Function block: No  
Image Analysis  
Variablesize data support must be enabled. Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Variablesize data support must be enabled. Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Variablesize data support must be enabled. Supports MATLAB Function block: No  
Denoising  
Variablesize data support must be enabled. Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Variablesize data support must be enabled. Supports MATLAB Function block: No  
Variablesize data support must be enabled. Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Supports MATLAB Function block: No  
Orthogonal and Biorthogonal Filter Banks  
Supports MATLAB Function block: No 
C and C++ code generation for the following functions and System objects requires the WLAN System Toolbox™ software.
Name  Remarks and Limitations 

WLAN Modeling  
—  
—  
—  
—  
—  
Signal Transmission  
—  
—  
—  
—  
—  
—  
—  
—  
—  
—  
—  
—  
—  
—  
Signal Reception  
—  
—  
—  
—  
—  
—  
—  
—  
—  
—  
—  
—  
—  
—  
—  
—  
—  
—  
Propagation Channel  
Note: WLAN System Toolbox functionality with the MATLAB Function block is not supported. 