Functions and Objects Supported for C/C++ Code Generation — Category List

You can generate efficient C/C++ code for a subset of MATLAB® built-in functions and toolbox functions and System objects that you call from MATLAB code. These functions and System objects are listed by MATLAB category or toolbox category in the following tables.

For an alphabetical list of supported functions and System objects, see Functions and Objects Supported for C/C++ Code Generation — Alphabetical List.

Note

For more information on code generation for fixed-point algorithms, refer to Code Acceleration and Code Generation from MATLAB (Fixed-Point Designer).

5G Toolbox

C and C++ code generation for the following functions requires the 5G Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Aerospace Toolbox

C and C++ code generation for the following Aerospace Toolbox quaternion functions requires the Aerospace Blockset™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Arithmetic Operations in MATLAB

See Array vs. Matrix Operations (MATLAB) for detailed descriptions of the following operator equivalent functions.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Audio and Video in MATLAB

Audio Toolbox

C and C++ code generation for the following functions and System objects requires the Audio Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Automated Driving Toolbox

C and C++ code generation for the following functions and System objects requires the Automated Driving Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Bit-Wise Operations MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Casting in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Characters and Strings in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Communications Toolbox

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

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Input and Output

comm.BasebandFileReader*

comm.BasebandFileWriter*

comm.BarkerCode*

comm.GoldSequence*

comm.HadamardCode*

comm.KasamiSequence*

comm.RBDSWaveformGenerator*

comm.WalshCode*

comm.PNSequence*

lteZadoffChuSeq

wgn*

Signal and Delay Management

bi2de

de2bi

Display and Visual Analysis

comm.ConstellationDiagram*

comm.EyeDiagram*

dsp.ArrayPlot*

dsp.SpectrumAnalyzer*

dsp.TimeScope*

Source Coding
comm.DifferentialDecoder*
comm.DifferentialEncoder*
Cyclic Redundancy Check Coding

comm.CRCDetector*

comm.CRCGenerator*

comm.HDLCRCDetector*

comm.HDLCRCGenerator*

BCH Codes

bchgenpoly*

comm.BCHDecoder*

comm.BCHEncoder*

Reed-Solomon Codes

comm.RSDecoder*

comm.RSEncoder*

comm.HDLRSDecoder*

comm.HDLRSEncoder*

rsgenpoly*

rsgenpolycoeffs*

LDPC Codes

comm.LDPCDecoder*

comm.LDPCEncoder*

dvbs2ldpc*

Turbo Product Codes

tpcdec*

tpcenc*

Convolutional Coding

comm.APPDecoder*

comm.ConvolutionalEncoder*

comm.TurboDecoder*

comm.TurboEncoder*

comm.ViterbiDecoder*

convenc

istrellis

oct2dec

poly2trellis

vitdec

Signal Operations
bin2gray

comm.Descrambler*

comm.Scrambler*

gray2bin
Interleaving

algdeintrlv

algintrlv

comm.AlgebraicDeinterleaver*

comm.AlgebraicInterleaver*

comm.BlockDeinterleaver*

comm.BlockInterleaver*

comm.ConvolutionalDeinterleaver*

comm.ConvolutionalInterleaver*

comm.HelicalDeinterleaver*

comm.HelicalInterleaver*

comm.MatrixDeinterleaver*

comm.MatrixInterleaver*

comm.MatrixHelicalScanDeinterleaver*

comm.MatrixHelicalScanInterleaver*

comm.MultiplexedDeinterleaver*

comm.MultiplexedInterleaver*

deintrlv

genqammod

helscandeintrlv

helscanintrlv

intrlv

matdeintrlv

matintrlv

Frequency Modulation

comm.FSKDemodulator*

comm.FSKModulator*

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
genqammod
pammod
pamdemod
qammod
qamdemod
Amplitude and Phase Modulation

apskdemod

apskmod

dvbsapskdemod

dvbsapskmod

mil188qamdemod

mil188qammod

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 Frequency-Division 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.DecisionFeedbackEqualizer*

comm.LinearEqualizer*

comm.MLSEEqualizer*
MIMO
comm.MIMOChannel*
comm.OSTBCCombiner*
comm.OSTBCEncoder*
comm.SphereDecoder*
Channel Modeling and RF Impairments

awgn*

bsc*

comm.AGC*
comm.AWGNChannel*
comm.BinarySymmetricChannel*

comm.DPD*

comm.DPDCoefficientEstimator*

comm.IQImbalanceCompensator*
comm.MemorylessNonlinearity*
comm.MIMOChannel*
comm.PhaseFrequencyOffset*
comm.PhaseNoise*
comm.RayleighChannel*
comm.RicianChannel*
comm.ThermalNoise*
comm.PSKCoarseFrequencyEstimator*
comm.QAMCoarseFrequencyEstimator*
doppler*
iqcoef2imbal
iqimbal
iqimbal2coef
Measurements and Analysis
comm.ACPR*
comm.CCDF*
comm.ErrorRate*
comm.EVM*
comm.MER*

Complex Numbers in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Computer Vision Toolbox

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

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Name
Feature Detection, Extraction, and Matching

BRISKPoints*

cornerPoints*
detectBRISKFeatures*
detectFASTFeatures*
detectHarrisFeatures*
detectMinEigenFeatures*
detectMSERFeatures*
detectORBFeatures
detectSURFFeatures*
extractFeatures
extractHOGFeatures*
extractLBPFeatures*
matchFeatures*
MSERRegions*

ORBPoints*

SURFPoints*
Point Cloud Processing

findNearestNeighbors*

findNeighborsInRadius*

findPointsInROI*

pcdenoise*

pcdownsample*

pcfitcylinder*

pcfitplane*

pcfitsphere*

pcmerge*

pcnormals*

pcregistercpd*

pcsegdist*

pctransform*

pointCloud*

removeInvalidPoints*

segmentLidarData*

select*

Image Registration and Geometric Transformations
estimateGeometricTransform*
Object Detection and Recognition

acfObjectDetector*

detect of acfObjectDetector*

ocr*
ocrText*
vision.PeopleDetector*
vision.CascadeObjectDetector*
Tracking and Motion Estimation
assignDetectionsToTracks

estimateFlow

opticalFlow

opticalFlowFarneback
opticalFlowHS
opticalFlowLKDoG
opticalFlowLK

reset

vision.ForegroundDetector*
vision.HistogramBasedTracker*
vision.KalmanFilter*
vision.PointTracker*
vision.TemplateMatcher*
Camera Calibration and Stereo Vision
bboxOverlapRatio
bbox2points
disparity*
disparityBM
disparitySGM
cameraPoseToExtrinsics
cameraMatrix*
cameraPose*
cameraParameters*
detectCheckerboardPoints*
epipolarLine
estimateEssentialMatrix*
estimateFundamentalMatrix*
estimateUncalibratedRectification
estimateWorldCameraPose*
extrinsics*
extrinsicsToCameraPose
generateCheckerboardPoints
isEpipoleInImage
lineToBorderPoints
reconstructScene*
rectifyStereoImages*
relativeCameraPose*
rotationMatrixToVector
rotationVectorToMatrix
selectStrongestBbox
stereoAnaglyph
stereoParameters*
triangulate*
undistortImage*
Statistics
vision.BlobAnalysis*
vision.LocalMaximaFinder*
vision.Maximum*
vision.Mean*
vision.Median*
vision.Minimum*
vision.StandardDeviation*
vision.Variance*
Filters, Transforms, and Enhancements
integralImage
vision.Deinterlacer*
Video Loading, Saving, and Streaming
vision.DeployableVideoPlayer
vision.VideoFileReader*
vision.VideoFileWriter*
Color Space Formatting and Conversions
vision.ChromaResampler*
vision.GammaCorrector*
Graphics
insertMarker*
insertShape*
insertObjectAnnotation*
insertText*
vision.AlphaBlender*

Control Flow in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Control System Toolbox

C and C++ code generation for the following functions requires the Control System Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Data and File Management in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Data Type Conversion in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Data Types in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Deep Learning Toolbox

C and C++ code generation for the following functions requires the Deep Learning Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

You can use genFunction in the Deep Learning 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 Shallow Neural Network Functions (Deep Learning Toolbox).

Descriptive Statistics in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Desktop Environment in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Discrete Math in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

DSP System Toolbox

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. See Define Constant Input Parameters Using the App and Specify Constant Inputs at the Command Line.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Name
Estimation

dsp.CrossSpectrumEstimator*

dsp.LevinsonSolver*

dsp.SpectrumEstimator*

dsp.TransferFunctionEstimator*

Filters

ca2tf*

cl2tf*

dsp.AdaptiveLatticeFilter*

dsp.AffineProjectionFilter*

dsp.AllpassFilter*

dsp.AllpoleFilter*

dsp.BiquadFilter*

dsp.BlockLMSFilter*

dsp.Channelizer*

dsp.ChannelSynthesizer*

dsp.CICCompensationDecimator*

dsp.CICCompensationInterpolator*

dsp.CICDecimator*

dsp.CICInterpolator*

dsp.ComplexBandpassDecimator*

dsp.Differentiator*

dsp.FarrowRateConverter*

dsp.FastTransversalFilter*

dsp.FilterCascade*

dsp.FilteredXLMSFilter*

dsp.FIRDecimator*

dsp.FIRFilter*

dsp.FIRHalfbandDecimator*

dsp.FIRHalfbandInterpolator*

dsp.FIRInterpolator*

dsp.FIRRateConverter*

dsp.FourthOrderSectionFilter

dsp.FrequencyDomainAdaptiveFilter*

dsp.FrequencyDomainFIRFilter*

dsp.HampelFilter*

dsp.HighpassFilter*

dsp.IIRFilter*

dsp.IIRHalfbandDecimator*

dsp.IIRHalfbandInterpolator*

dsp.KalmanFilter*

dsp.LMSFilter*

dsp.LowpassFilter*

dsp.MedianFilter*

dsp.RLSFilter*

dsp.SampleRateConverter*

dsp.SubbandAnalysisFilter*

dsp.SubbandSynthesisFilter*

dsp.VariableBandwidthFIRFilter*

dsp.VariableBandwidthIIRFilter*

firceqrip*

fireqint*

firgr*

firhalfband*

firlpnorm*

firminphase*

firnyquist*

firpr2chfb*

ifir*

iircomb*

iirgrpdelay*

iirlpnorm*

iirlpnormc*

iirnotch*

iirpeak*

tf2ca*

tf2cl*

Filter Design

designMultirateFIR*

Math Operations

dsp.ArrayVectorAdder*

dsp.ArrayVectorDivider*

dsp.ArrayVectorMultiplier*

dsp.ArrayVectorSubtractor*

dsp.CumulativeProduct*

dsp.CumulativeSum*

dsp.LDLFactor*

dsp.LevinsonSolver*

dsp.LowerTriangularSolver*

dsp.LUFactor*

dsp.Normalizer*

dsp.UpperTriangularSolver*
Quantizers

dsp.ScalarQuantizerDecoder*

dsp.ScalarQuantizerEncoder*

dsp.VectorQuantizerDecoder*

dsp.VectorQuantizerEncoder*

Scopes

dsp.ArrayPlot*

dsp.SpectrumAnalyzer*

dsp.TimeScope*

Signal Management

dsp.AsyncBuffer*

dsp.Counter*

dsp.DelayLine*

Signal Operations

dsp.Convolver*

dsp.DCBlocker*

dsp.Delay*

dsp.DigitalDownConverter*

dsp.DigitalUpConverter*

dsp.Interpolator*

dsp.NCO*

dsp.PeakFinder*

dsp.PhaseExtractor*

dsp.PhaseUnwrapper*

dsp.VariableFractionalDelay*

dsp.VariableIntegerDelay*

dsp.Window*

dsp.ZeroCrossingDetector*

Sinks

audioDeviceWriter*

dsp.AudioFileWriter*

dsp.BinaryFileWriter*

dsp.UDPSender*

Sources

dsp.AudioFileReader*

dsp.BinaryFileReader*

dsp.ColoredNoise*

dsp.SignalSource*

dsp.SineWave*

dsp.UDPReceiver*

Statistics

dsp.Autocorrelator*

dsp.Crosscorrelator*

dsp.Histogram*

dsp.Maximum*

dsp.Mean*

dsp.Median*

dsp.MedianFilter*

dsp.Minimum*

dsp.MovingAverage*

dsp.MovingMaximum*

dsp.MovingMinimum*

dsp.MovingRMS*

dsp.MovingStandardDeviation*

dsp.MovingVariance*

dsp.PeakToPeak*

dsp.PeakToRMS*

dsp.RMS*

dsp.StandardDeviation*

dsp.StateLevels*

dsp.Variance*

Transforms

dsp.AnalyticSignal*

dsp.FFT*

dsp.IFFT*

dsp.ISTFT*

dsp.STFT

dsp.ZoomFFT*

Error Handling in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Exponents in MATLAB

Filtering and Convolution in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Fixed-Point Designer

The following general limitations apply to the use of Fixed-Point 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.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Fuzzy Logic Toolbox

C and C++ code generation for the following functions requires the Fuzzy Logic Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Histograms in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Image Acquisition Toolbox

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 (Image Acquisition Toolbox).

Image Processing in MATLAB

Image Processing Toolbox

The following table lists the Image Processing Toolbox™ functions that have been enabled for code generation. You must have the MATLAB Coder™ and Image Processing Toolbox 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 platform-specific 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 (Image Processing Toolbox).

  • 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.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Input and Output Arguments in MATLAB

Interpolation and Computational Geometry in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Linear Algebra in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Logical and Bit-Wise Operations in MATLAB

FunctionRemarks and Limitations

and

bitand

bitcmp

bitget

bitor

bitset

bitshift

bitxor

not

or

xor

MATLAB Compiler

C and C++ code generation for the following functions requires the MATLAB Compiler™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Matrices and Arrays in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Model Predictive Control Toolbox

C and C++ code generation for the following function requires the Model Predictive Control Toolbox™.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Numerical Integration and Differentiation in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Optimization Functions in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Optimization Toolbox

C and C++ code generation for the following functions and System objects requires the Optimization Toolbox™.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Performance and Memory in MATLAB

Phased Array System Toolbox

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

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Antenna and Microphone Elements

aperture2gain*

azel2phithetapat*

azel2uvpat*

azelcut2pat

circpol2pol*

gain2aperture*

phased.CosineAntennaElement*
phased.CrossedDipoleAntennaElement*
phased.CustomAntennaElement*
phased.CustomMicrophoneElement*
phased.IsotropicAntennaElement*

phased.IsotropicHydrophone*

phased.IsotropicProjector*

phased.OmnidirectionalMicrophoneElement*
phased.ShortDipoleAntennaElement*

phitheta2azelpat*

phitheta2uvpat*

pol2circpol*

polellip*

polloss*

polratio*

polsignature*

rotpat

stokes*

uv2azelpat*

uv2phithetapat*

Array Geometries and Analysis

az2broadside*

broadside2az*

pilotcalib*

phased.ArrayGain*
phased.ArrayResponse*
phased.ConformalArray*
phased.ElementDelay*

phased.HeterogeneousConformalArray*

phased.HeterogeneousULA*

phased.HeterogeneousURA*

phased.PartitionedArray*
phased.ReplicatedSubarray*
phased.SteeringVector*
phased.UCA*
phased.ULA*
phased.URA*

taylortaperc*

Signal Radiation and Collection
phased.Collector*
phased.Radiator*
phased.WidebandCollector*
phased.WidebandRadiator*

sensorsig*

Transmitters and Receivers

delayseq*

noisepow*

phased.ReceiverPreamp*
phased.Transmitter*

systemp*

Waveform Design and Analysis

ambgfun*

pambgfun*

phased.FMCWWaveform*
phased.LinearFMWaveform*
phased.MFSKWaveform*
phased.PhaseCodedWaveform*
phased.RectangularWaveform*
phased.SteppedFMWaveform*

range2bw*

range2time*

time2range*

unigrid*

Beamforming

cbfweights*

lcmvweights*

mvdrweights*

phased.FrostBeamformer*
phased.GSCBeamformer*
phased.LCMVBeamformer*
phased.MVDRBeamformer*
phased.PhaseShiftBeamformer*
phased.SteeringVector*
phased.SubbandMVDRBeamformer*
phased.SubbandPhaseShiftBeamformer*
phased.TimeDelayBeamformer*
phased.TimeDelayLCMVBeamformer*

sensorcov*

steervec*

Direction of Arrival (DOA) Estimation

aictest*

espritdoa*

gccphat*

getMonopulseEstimator

mdltest*

musicdoa*

phased.BeamscanEstimator*
phased.BeamscanEstimator2D*
phased.BeamspaceESPRITEstimator*
phased.ESPRITEstimator*
phased.GCCEstimator*
phased.MonopulseEstimator*
phased.MonopulseFeed*
phased.MUSICEstimator*
phased.MUSICEstimator2D*
phased.MVDREstimator*
phased.MVDREstimator2D*
phased.RootMUSICEstimator*
phased.RootWSFEstimator*
phased.SumDifferenceMonopulseTracker*
phased.SumDifferenceMonopulseTracker2D*

rootmusicdoa*

spsmooth*

Space-Time Adaptive Processing (STAP)

dopsteeringvec*

phased.ADPCACanceller*
phased.AngleDopplerResponse*
phased.DPCACanceller*
phased.STAPSMIBeamformer*

val2ind*

Detection, Range, and Doppler Estimation

albersheim*

AlphaBetaFilter

beat2range*

bw2range*

clone of AlphaBetaFilter

correct of AlphaBetaFilter

dechirp*

distance of AlphaBetaFilter

likelihood of AlphaBetaFilter

npwgnthresh*

phased.CFARDetector*
phased.CFARDetector2D*

phased.DopplerEstimator*

phased.MatchedFilter*
phased.PulseCompressionLibrary*
phased.RangeAngleResponse*
phased.RangeDopplerResponse*

phased.RangeEstimator*

phased.RangeResponse*

phased.StretchProcessor*
phased.TimeVaryingGain*

predict of AlphaBetaFilter

pulsint*

radareqpow*

radareqrng*

radareqsnr*

radarvcd*

range2beat*

range2tl*

rdcoupling*

rocpfa*

rocsnr*

shnidman*

sonareqsl*

sonareqsnr*

sonareqtl*

stretchfreq2rng*

tl2range*

Targets, Interference, and Signal Propagation

billingsleyicm*

depressionang*

diagbfweights*

effearthradius*

fspl*

fogpl*

gaspl*

grazingang*

horizonrange*

move of phased.BackscatterPedestrian

phased.BackscatterPedestrian

phased.BackscatterRadarTarget*

phased.BackscatterSonarTarget*

phased.BarrageJammer*
phased.ConstantGammaClutter*
phased.FreeSpace*

phased.IsoSpeedUnderwaterPaths*

phased.LOSChannel*

phased.MultipathChannel*

phased.RadarTarget*

phased.ScatteringMIMOChannel*

phased.TwoRayChannel*

phased.UnderwaterRadiatedNoise*

phased.WidebandFreeSpace*
phased.WidebandBackscatterRadarTarget*
phased.WidebandLOSChannel*
phased.WidebandTwoRayChannel*

rcscylinder

rcsdisc

rcstruncone

physconst*

scatteringchanmtx*

reflect of phased.BackscatterPedestrian

surfacegamma*

surfclutterrcs*

rainpl*

waterfill*

Motion Modeling and Coordinate Systems

azel2phitheta*

azel2uv*

azelaxes*

cart2sphvec*

dop2speed*

global2localcoord*

local2globalcoord*

phased.Platform*

phitheta2azel*

phitheta2uv*

radialspeed*

rangeangle*

rotx*

roty*

rotz*

speed2dop*

sph2cartvec*

uv2azel*

uv2phitheta*

Object Functions

clone

release

reset

Polynomials in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Preprocessing Data in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Programming Utilities in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Property Validation in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Relational Operators in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Robotics System Toolbox

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

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Algorithm Design
robotics.AimingConstraint
robotics.BinaryOccupancyGrid
robotics.CartesianBounds
robotics.GeneralizedInverseKinematics*
robotics.InverseKinematics*
robotics.Joint
robotics.JointPositionBounds
lidarScan
matchScans
matchScansGrid
robotics.OccupancyGrid
robotics.OdometryMotionModel
robotics.OrientationTarget
robotics.ParticleFilter*
robotics.PoseTarget
robotics.PositionTarget
robotics.PRM
robotics.PurePursuit
robotics.RigidBody
robotics.RigidBodyTree*
transformScan
robotics.VectorFieldHistogram
Coordinate System Transformations
angdiff
axang2quat
axang2rotm
axang2tform
bsplinepolytraj
cart2hom
classUnderlying of quaternion
compact of quaternion
conj of quaternion
ctranspose, ' of quaternion
cubicpolytraj
dist of quaternion
eul2quat
eul2rotm
eul2tform
euler of quaternion
eulerd of quaternion
exp of quaternion
hom2cart
ldivide, .\ of quaternion
log of quaternion
meanrot of quaternion
minus, - of quaternion
mtimes, * of quaternion
norm of quaternion
normalize of quaternion
ones of quaternion
parts of quaternion
power, .^ of quaternion
prod of quaternion
quat2axang
quat2eul
quat2rotm
quat2tform
quaternion
quinticpolytraj
rdivide, ./ of quaternion
rotateframe of quaternion
rotatepoint of quaternion
rotm2axang
rotm2eul
rotm2quat
rotm2tform
rotmat of quaternion
rottraj
rotvec of quaternion
rotvecd of quaternion
slerp of quaternion
times, .* of quaternion
tform2axang
tform2eul
tform2quat
tform2rotm
tform2trvec
transformtraj
transpose, .' of quaternion
trapveltraj
trvec2tform
uminus, - of quaternion
zeros of quaternion
Ground Vehicle Algorithms
addRelativePose*
addScan*
connect
copy*
edgeConstraints*
edges*
findEdgeID*
interpolate
nodes*
optimizePoseGraph*
removeEdges*
removeLoopClosures*
robotics.DubinsConnection
robotics.DubinsPathSegment
robotics.LidarSLAM*
robotics.PoseGraph*
robotics.PoseGraph3D*
robotics.ReedsSheppConnection
robotics.ReedsSheppPathSegment
scansAndPoses*
UAV Algorithms

control

derivative

derivative

fixedwing

multirotor

uavOrbitFollower

state

uavWaypointFollower

Rounding and Remainder Functions in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Sensor Fusion and Tracking Toolbox

C and C++ code generation for the following functions requires the Sensor Fusion and Tracking Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

accelparams

ahrsfilter*

ahrs10filter

altimeterSensor*

append of ggiwphd

assignauction

assignjv

assignkbest

assignkbestsd

assignmunkres

assignsd

assignTOMHT

AsyncMARGGPSFuser

cameas

cameasjac

checkConfirmation of trackScoreLogic

checkDeletion of trackScoreLogic

classUnderlying of quaternion

clone of ggiwphd

clone of trackingCKF

clone of trackScoreLogic

clusterTrackBranches*

compact of quaternion

compatibleTrackBranches*

conj of quaternion

constacc

constaccjac

constturn

constturnjac

constvel

constveljac

constvelmsc

constvelmscjac

correct of ahrs10filter

correct of AsyncMARGGPSFuser

correct of ErrorStateIMUGPSFuser

correct of ggiwphd

correct of MARGGPSFuser

correct of NHConstrainedIMUGPSFuser

correct of trackingCKF

correctjpda*

correctUndetected of ggiwphd

ctmeas

ctmeasjac

ctranspose, ' of quaternion

cvmeas

cvmeasjac

cvmeasmsc

cvmeasmscjac

dist of quaternion

distance of trackingCKF

ecompass

emissionsInBody

ErrorStateIMUGPSFuser

euler of quaternion

eulerd of quaternion

exp of quaternion

extractState of ggiwphd

fuseaccel of AsyncMARGGPSFuser

fusealtimeter of ahrs10filter

fusecovint

fusecovunion

fusegps of AsyncMARGGPSFuser

fusegps of ErrorStateIMUGPSFuser

fusegps of MARGGPSFuser

fusegps of NHConstrainedIMUGPSFuser

fusegyro of AsyncMARGGPSFuser

fusemag of MARGGPSFuser

fusemag of ahrs10filter

fusemag of AsyncMARGGPSFuser

fusemvo of ErrorStateIMUGPSFuser

fusexcov

getTrackPositions

getTrackVelocities

ggiwphd*

gpsSensor*

gyroparams

hit of trackHistoryLogic and trackScoreLogic

imufilter*

imuSensor*

init of trackHistoryLogic and trackScoreLogic

initapekf

initcackf

initcaekf

initcaggiwphd

initcakf

initcapf

initcaukf

initctckf

initctekf

initctggiwphd

initctpf

initctukf

initcvckf

initcvekf

initcvggiwphd

initcvkf

initcvmscekf

initcvpf

initcvukf

initekfimm

initrpekf

insfilter

insSensor*

irSensor

irSignature

jpdaEvents*

kinematicTrajectory*

labeledDensity of ggiwphd

ldivide, .\ of quaternion

likelihood of ggiwphd

likelihood of trackingCKF

log of quaternion

magparams

MARGGPSFuser

meanrot of quaternion

merge of ggiwphd*

mergeScores of trackScoreLogic

minus, - of quaternion

miss of trackHistoryLogic and trackScoreLogic

monostaticRadarSensor*

mtimes, * of quaternion

NHConstrainedIMUGPSFuser

norm of quaternion

normalize of quaternion

objectDetection

ones of quaternion

output of trackHistoryLogic and trackScoreLogic

partitionDetections*

parts of quaternion

pose of MARGGPSFuser

pose of NHConstrainedIMUGPSFuser

pose of AsyncMARGGPSFuser

pose of ErrorStateIMUGPSFuser

pose of ahrs10filter

power, .^ of quaternion

predict of ahrs10filter

predict of AsyncMARGGPSFuser

predict of ErrorStateIMUGPSFuser

predict of ggiwphd

predict of MARGGPSFuser

predict of NHConstrainedIMUGPSFuser

predict of trackingCKF

prod of quaternion

prune of ggiwphd

pruneTrackBranches*

quaternion

radarChannel

radarEmission

radarEmitter*

radarSensor*

randrot

rcsSignature

rdivide, ./ of quaternion

reset of trackHistoryLogic and trackScoreLogic

reset of AsyncMARGGPSFuser

reset of ahrs10filter

resetof ErrorStateIMUGPSFuser

reset of MARGGPSFuser

reset of NHConstrainedIMUGPSFuser

residual of trackingCKF

rotateframe of quaternion

rotatepoint of quaternion

rotmat of quaternion

rotvec of quaternion

rotvecd of quaternion

scale of ggiwphd

slerp of quaternion

sonarEmission

sonarEmitter*

sonarSensor*

stateinfo of AsyncMARGGPSFuser

stateinfo of ahrs10filter

stateinfo of ErrorStateIMUGPSFuser

stateinfo of MARGGPSFuser

stateinfo of NHConstrainedIMUGPSFuser

switchimm

sync of trackScoreLogic

times, .* of quaternion

trackAssignmentMetrics*

trackerGNN*

trackErrorMetrics*

trackerJPDA*

trackerPHD*

trackerTOMHT*

trackHistoryLogic

trackingABF

trackingCKF

trackingEKF

trackingGSF

trackingIMM

trackingKF*

trackingPF

trackingSensorConfiguration

trackingUKF

trackScoreLogic

transpose, .' of quaternion

triangulateLOS

tsSignature

uminus, - of quaternion

underwaterChannel

value of irSignature

value of rcsSignature

value of tsSignature

waypointTrajectory*

zeros of quaternion

SerDes Toolbox

C and C++ code generation for the following functions requires the SerDes Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Set Operations in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Signal Processing in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Signal Processing Toolbox

C and C++ code generation for the following functions requires the Signal Processing Toolbox™ software. These functions do not support variable-size inputs, you must define the size and type of the function inputs. For more information, see Specifying Inputs in Code Generation from MATLAB (Signal Processing Toolbox).

Note

Many Signal Processing Toolbox functions require constant inputs in generated code. To specify a constant input for codegen, use coder.Constant.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Special Values in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Specialized Math in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Statistics and Machine Learning Toolbox

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

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Descriptive Statistics and Visualization
geomean*
grp2idx*
harmmean*
iqr*
kurtosis*

mad*

moment*

nancov*

nanmax*

nanmean*

nanmedian*

nanmin*

nanstd*

nansum*

nanvar*

prctile*

quantile*

skewness*

zscore*

Probability Distributions

betacdf

betafit

betainv

betalike

betapdf

betarnd*

betastat

binocdf

binoinv

binopdf

binornd*

binostat

cdf*

chi2cdf

chi2inv

chi2pdf

chi2rnd*

chi2stat

ecdf*

evcdf

evinv

evpdf

evrnd*

evstat

expcdf

expinv

exppdf

exprnd*

expstat

fcdf

finv

fpdf

frnd*

fstat

gamcdf

gaminv

gampdf

gamrnd*

gamstat

geocdf

geoinv

geopdf

geornd*

geostat

gevcdf

gevinv

gevpdf

gevrnd*

gevstat

gpcdf

gpinv

gppdf

gprnd*

gpstat

hygecdf

hygeinv

hygepdf

hygernd*

hygestat

icdf*

ksdensity*

logncdf

logninv

lognpdf

lognrnd*

lognstat

mnpdf

mvksdensity*

nbincdf

nbininv

nbinpdf

nbinrnd*

nbinstat

ncfcdf

ncfinv

ncfpdf

ncfrnd*

ncfstat

nctcdf

nctinv

nctpdf

nctrnd*

nctstat

ncx2cdf

ncx2rnd*

ncx2stat

normcdf

norminv

normpdf

normrnd*

normstat

pdf*

pearsrnd*

poisscdf

poissinv

poisspdf

poissrnd*

poisstat

randg

random*

randsample*

raylcdf

raylinv

raylpdf

raylrnd*

raylstat

tcdf

tinv

tpdf

trnd*

tstat

unidcdf

unidinv

unidpdf

unidrnd*

unidstat

unifcdf

unifinv

unifpdf

unifrnd*

unifstat

wblcdf

wblinv

wblpdf

wblrnd*

wblstat

Cluster Analysis

kmeans*

knnsearch* and knnsearch* of ExhaustiveSearcher and KDTreeSearcher

pdist*

pdist2*

rangesearch* and rangesearch* of ExhaustiveSearcher and KDTreeSearcher

squareform*

ExhaustiveSearcher*

KDTreeSearcher*

Regression
glmval*
loadCompactModel
predict* of GeneralizedLinearModel and CompactGeneralizedLinearModel
predict* of LinearModel and CompactLinearModel
predict* of RegressionEnsemble, RegressionBaggedEnsemble, and CompactRegressionEnsemble
predict* of RegressionGP and CompactRegressionGP
predict* of RegressionLinear
predict* of RegressionSVM and CompactRegressionSVM
predict* of RegressionTree and CompactRegressionTree
random* of GeneralizedLinearModel and CompactGeneralizedLinearModel
random* of LinearModel and CompactLinearModel
update* of CompactRegressionSVM
GeneralizedLinearModel* and CompactGeneralizedLinearModel*
LinearModel* and CompactLinearModel*
RegressionEnsemble*, RegressionBaggedEnsemble*, and CompactRegressionEnsemble*
RegressionGP* and CompactRegressionGP*
RegressionLinear*
RegressionSVM* and CompactRegressionSVM*
RegressionTree* and CompactRegressionTree*
Classification
loadCompactModel
predict* of ClassificationECOC and CompactClassificationECOC
predict* of ClassificationEnsemble, ClassificationBaggedEnsemble, and CompactClassificationEnsemble
predict* of ClassificationDiscriminant and CompactClassificationDiscriminant
predict* of ClassificationKNN
predict* of ClassificationLinear
predict* of ClassificationNaiveBayes and CompactClassificationNaiveBayes
predict* of ClassificationSVM and CompactClassificationSVM
predict* of ClassificationTree and CompactClassificationTree
update* of CompactClassificationSVM
ClassificationECOC* and CompactClassificationECOC*
ClassificationEnsemble*, ClassificationBaggedEnsemble*, and CompactClassificationEnsemble*
ClassificationDiscriminant* and CompactClassificationDiscriminant*
ClassificationKNN*
ClassificationLinear*
ClassificationNaiveBayes* and CompactClassificationNaiveBayes*
ClassificationSVM* and CompactClassificationSVM*
ClassificationTree* and CompactClassificationTree*
Dimensionality Reduction

pca*

Industrial Statistics
coxphfit*

System Identification Toolbox

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

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

System object Methods

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Trigonometry in MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

Wavelet Toolbox

C and C++ code generation for the following functions requires the Wavelet Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

WLAN Toolbox

C and C++ code generation for the following functions and System objects requires the WLAN Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

MAC Modeling

displayIEs of wlanMACManagementConfig

wlanAMPDUDeaggregate

wlanMACFrame

wlanMACFrameConfig

wlanMACManagementConfig

wlanMPDUDecode

wlanMSDULengths

PHY Modeling

wlanHTConfig

wlanNonHTConfig

wlanRecoveryConfig

wlanS1GConfig

wlanVHTConfig

Signal Transmission

wlanBCCEncode

wlanBCCInterleave

wlanConstellationMap

wlanDMGConfig

wlanHEMUConfig

wlanHESUConfig

wlanHTData

wlanHTLTF

wlanHTSIG

wlanHTSTF

wlanLLTF

wlanLSIG

wlanLSTF

wlanNonHTData

wlanScramble

wlanSegmentDeparseSymbols

wlanSegmentParseBits

wlanStreamParse

wlanVHTData

wlanVHTLTF

wlanVHTSIGA

wlanVHTSIGB

wlanVHTSTF

wlanWaveformGenerator

Signal Reception

wlanBCCDecode

wlanBCCDeinterleave

wlanCoarseCFOEstimate

wlanConstellationDemap

wlanDMGDataBitRecover

wlanDMGHeaderBitRecover

wlanDMGOFDMDemodulate

wlanDMGOFDMInfo

wlanFormatDetect

wlanFieldIndices

wlanFineCFOEstimate

wlanGolaySequence

wlanHEDataBitRecover

wlanHEDemodulate

wlanHEOFDMInfo

wlanHERecoveryConfig

getSIGBLength of wlanHERecoveryConfig

interpretHESIGABits of wlanHERecoveryConfig

wlanHESIGABitRecover

wlanHTOFDMInfo

wlanHTDataRecover

wlanHTLTFChannelEstimate

wlanHTLTFDemodulate

wlanHTSIGRecover

wlanLLTFChannelEstimate

wlanLLTFDemodulate

wlanLSIGBitRecover

wlanLSIGRecover

wlanNonHTOFDMInfo

wlanNonHTDataRecover

wlanPacketDetect

wlanS1GDemodulate

wlanS1GOFDMInfo

wlanScramble

wlanSegmentDeparseBits

wlanSegmentParseSymbols

wlanStreamDeparse

wlanSymbolTimingEstimate

wlanVHTDataRecover

wlanVHTLTFChannelEstimate

wlanVHTLTFDemodulate

wlanVHTOFDMInfo

wlanVHTSIGARecover

wlanVHTSIGBRecover

Propagation Channel Models

wlanTGacChannel*

wlanTGahChannel*

wlanTGaxChannel*

wlanTGayChannel*

info of wlanTGayChannel

showEnvironment of wlanTGayChannel

wlanTGnChannel*

wlanURAConfig

Test and Measurement

wlanClosestReferenceSymbol

wlanReferenceSymbols

Note

WLAN Toolbox functionality with the MATLAB Function block is not supported.