Documentation

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, 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 fixed-point algorithms, refer to Code Acceleration and Code Generation from MATLAB (Fixed-Point Designer).

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 System Toolbox

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

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

Automated Driving System Toolbox

C and C++ code generation for the following functions and classes requires the Automated Driving System 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 System Toolbox

C and C++ code generation for the following functions and System objects requires the Communications System 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

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*

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

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*

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
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 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.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*
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 System Toolbox

C and C++ code generation for the following functions and System objects requires the Computer Vision System 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*
detectSURFFeatures*
extractFeatures
extractHOGFeatures*
extractLBPFeatures*
matchFeatures*
MSERRegions*
SURFPoints*
Image Registration and Geometric Transformations
estimateGeometricTransform*
Object Detection and Recognition
ocr*
ocrText*
vision.PeopleDetector*
vision.CascadeObjectDetector*
Tracking and Motion Estimation
assignDetectionsToTracks
opticalFlowFarneback*
opticalFlowHS*
opticalFlowLKDoG*
opticalFlowLK*
vision.ForegroundDetector*
vision.HistogramBasedTracker*
vision.KalmanFilter*
vision.PointTracker*
vision.TemplateMatcher*
Camera Calibration and Stereo Vision
bboxOverlapRatio*
bbox2points
disparity*
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.Autocorrelator*
vision.BlobAnalysis*
vision.Crosscorrelator*
vision.LocalMaximaFinder*
vision.Maximum*
vision.Mean*
vision.Median*
vision.Minimum*
vision.StandardDeviation*
vision.Variance*
Filters, Transforms, and Enhancements
integralImage
vision.Convolver*
vision.DCT*
vision.Deinterlacer*
vision.FFT*
vision.IDCT*
vision.IFFT*
vision.Pyramid*
Video Loading, Saving, and Streaming
vision.DeployableVideoPlayer*
vision.VideoFileReader*
vision.VideoFileWriter*
Color Space Formatting and Conversions
vision.ChromaResampler*
vision.DemosaicInterpolator*
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.

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.

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

Name
Estimation

dsp.BurgAREstimator*

dsp.BurgSpectrumEstimator*

dsp.CepstralToLPC*

dsp.CrossSpectrumEstimator*

dsp.LevinsonSolver*

dsp.LPCToAutocorrelation*

dsp.LPCToCepstral*

dsp.LPCToLSF*

dsp.LPCToLSP*

dsp.LPCToRC*

dsp.LSFToLPC*

dsp.LSPToLPC*

dsp.RCToAutocorrelation*

dsp.RCToLPC*

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.Differentiator*

dsp.FarrowRateConverter*

dsp.FastTransversalFilter*

dsp.FilterCascade*

dsp.FilteredXLMSFilter*

dsp.FIRDecimator*

dsp.FIRFilter*

dsp.FIRHalfbandDecimator*

dsp.FIRHalfbandInterpolator*

dsp.FIRInterpolator*

dsp.FIRRateConverter*

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.DCT*

dsp.FFT*

dsp.IDCT*

dsp.IFFT*

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 (MATLAB Coder).

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

FunctionRemarks and Limitations

im2double

rgb2gray

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

Neural Network Toolbox

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 (Neural Network Toolbox).

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.

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*

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*

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*

mdltest*

musicdoa*

phased.BeamscanEstimator*
phased.BeamscanEstimator2D*
phased.BeamspaceESPRITEstimator*
phased.ESPRITEstimator*
phased.GCCEstimator*
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*

beat2range*

bw2range*

dechirp*

npwgnthresh*

phased.CFARDetector*
phased.CFARDetector2D*

phased.DopplerEstimator*

phased.MatchedFilter*
phased.RangeDopplerResponse*

phased.RangeEstimator*

phased.RangeResponse*

phased.StretchProcessor*
phased.TimeVaryingGain*

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*

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*

physconst*

scatteringchanmtx*

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*

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.

Rounding and Remainder Functions in MATLAB

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

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

logncdf

logninv

lognpdf

lognrnd*

lognstat

mnpdf

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

pdist2*

rangesearch* and rangesearch* of ExhaustiveSearcher

ExhaustiveSearcher*

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
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 ClassificationSVM and CompactClassificationSVM
predict* of ClassificationTree and CompactClassificationTree
ClassificationECOC* and CompactClassificationECOC*
ClassificationEnsemble*, ClassificationBaggedEnsemble*, and CompactClassificationEnsemble*
ClassificationDiscriminant* and CompactClassificationDiscriminant*
ClassificationKNN*
ClassificationLinear*
ClassificationSVM* and CompactClassificationSVM*
ClassificationTree* and CompactClassificationTree*
Dimensionality Reduction

pca*

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 System Toolbox

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

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

Note

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

Was this topic helpful?