Julia for MATLAB Users/Index/Toolboxes/Control System Toolbox
Appearance
Maps functionality from the MATLAB Control System Toolbox to equivalent(s) in Julia.
Related Julia packages:
Dynamic System Models
[edit | edit source]Linear System Representation
[edit | edit source]Basic Models
[edit | edit source]tf
Create transfer function model, convert to transfer function modelzpk
Create zero-pole-gain model; convert to zero-pole-gain modelss
Create state-space model, convert to state-space modelfrd
Create frequency-response data model, convert to frequency-response data modelfilt
Specify discrete transfer functions in DSP formatdss
Create descriptor state-space modelspid
Create PID controller in parallel form, convert to parallel-form PID controllerpidstd
Create a PID controller in standard form, convert to standard-form PID controllerpid2
Create 2-DOF PID controller in parallel form, convert to parallel-form 2-DOF PID controllerpidstd2
Create 2-DOF PID controller in standard form, convert to standard-form 2-DOF PID controllerrss
Generate random continuous test modeldrss
Generate random discrete test model
Tunable Models
[edit | edit source]tunableGain
Tunable static gain blocktunablePID
Tunable PID controllertunablePID2
Tunable two-degree-of-freedom PID controllertunableSS
Tunable fixed-order state-space modeltunableTF
Tunable transfer function with fixed number of poles and zerosrealp
Real tunable parameterAnalysisPoint
Points of interest for linear analysisgenss
Generalized state-space modelgenfrd
Generalized frequency response data (FRD) modelgenmat
Generalized matrix with tunable parametersgetLoopTransfer
Open-loop transfer function of control systemgetIOTransfer
Closed-loop transfer function from generalized model of control systemgetSensitivity
Sensitivity function from generalized model of control systemgetCompSensitivity
Complementary sensitivity function from generalized model of control systemgetPoints
Get list of analysis points in generalized model of control systemreplaceBlock
Replace or update Control Design Blocks in Generalized LTI modelsampleBlock
Sample Control Design blocks in generalized modelrsampleBlock
Randomly sample Control Design blocks in generalized modelgetValue
Current value of Generalized ModelsetValue
Modify current value of Control Design BlockgetBlockValue
Current value of Control Design Block in Generalized ModelsetBlockValue
Modify value of Control Design Block in Generalized ModelshowBlockValue
Display current value of Control Design Blocks in Generalized ModelshowTunable
Display current value of tunable Control Design Blocks in Generalized Modelnblocks
Number of blocks in Generalized matrix or Generalized LTI modelgetLFTModel
Decompose generalized LTI model
Models with Time Delays
[edit | edit source]pade
Padé approximation of model with time delaysabsorbDelay
Replace time delays by poles at z = 0 or phase shiftthiran
Generate fractional delay filter based on Thiran approximationhasdelay
True for linear model with time delayshasInternalDelay
Determine if model has internal delaystotaldelay
Total combined I/O delays for LTI modeldelayss
Create state-space models with delayed inputs, outputs, and statessetDelayModel
Construct state-space model with internal delaysgetDelayModel
State-space representation of internal delays
Model Attributes
[edit | edit source]get
Access model property valuesset
Set or modify model propertiestfdata
Access transfer function datazpkdata
Access zero-pole-gain datassdata
Access state-space model datafrdata
Access data for frequency response data (FRD) objectpiddata
Access coefficients of parallel-form PID controllerpidstddata
Access coefficients of standard-form PID controllerpiddata2
Access coefficients of parallel-form 2-DOF PID controllerpidstddata2
Access coefficients of standard-form 2-DOF PID controllerdssdata
Extract descriptor state-space datachgFreqUnit
Change frequency units of frequency-response data modelchgTimeUnit
Change time units of dynamic systemisct
Determine if dynamic system model is in continuous timeisdt
Determine if dynamic system model is in discrete timeisempty
Determine whether dynamic system model is emptyisfinite
Determine if model has finite coefficientsisParametric
Determine if model has tunable parametersisproper
Determine if dynamic system model is properisreal
Determine if model has real-valued coefficientsissiso
Determine if dynamic system model is single-input/single-output (SISO)isstable
Determine whether system is stableisstatic
Determine if model is static or dynamicorder
Query model orderndims
Query number of dimensions of dynamic system model or model arraysize
Query output/input/array dimensions of input–output model and number of frequencies of FRD model
Model Arrays
[edit | edit source]stack
Build model array by stacking models or model arrays along array dimensionsnmodels
Number of models in model arraypermute
Rearrange array dimensions in model arraysreshape
Change shape of model arrayrepsys
Replicate and tile modelsvoidModel
Mark missing or irrelevant models in model arraysampleBlock
Sample Control Design blocks in generalized modelrsampleBlock
Randomly sample Control Design blocks in generalized model
Model Interconnection
[edit | edit source]feedback
Feedback connection of two modelsconnect
Block diagram interconnections of dynamic systemssumblk
Summing junction for name-based interconnectionsseries
Series connection of two modelsparallel
Parallel connection of two modelsappend
Group models by appending their inputs and outputsblkdiag
Block-diagonal concatenation of modelsimp2exp
Convert implicit linear relationship to explicit input-output relationinv
Invert modelslft
Generalized feedback interconnection of two models (Redheffer star product)connectOptions
Options for the connect command
Model Transformation
[edit | edit source]Model Type Conversion
[edit | edit source]tf
Create transfer function model, convert to transfer function modelzpk
Create zero-pole-gain model; convert to zero-pole-gain modelss
Create state-space model, convert to state-space modelfrd
Create frequency-response data model, convert to frequency-response data modelpid
Create PID controller in parallel form, convert to parallel-form PID controllerpidstd
Create a PID controller in standard form, convert to standard-form PID controllerpid2
Create 2-DOF PID controller in parallel form, convert to parallel-form 2-DOF PID controllerpidstd2
Create 2-DOF PID controller in standard form, convert to standard-form 2-DOF PID controllermake1DOF
Convert 2-DOF PID controller to 1-DOF controllermake2DOF
Convert 1-DOF PID controller to 2-DOF controllergetComponents
Extract SISO control components from a 2-DOF PID controller
Continuous-Discrete Conversion
[edit | edit source]c2d
Convert model from continuous to discrete timed2c
Convert model from discrete to continuous timed2d
Resample discrete-time modelupsample
Upsample discrete-time modelsc2dOptions
Create option set for continuous- to discrete-time conversionsd2cOptions
Create option set for discrete- to continuous-time conversionsd2dOptions
Create option set for discrete-time resampling
State-Coordinate Transformation
[edit | edit source]balreal
Gramian-based input/output balancing of state-space realizationscanon
State-space canonical realizationprescale
Optimal scaling of state-space modelsss2ss
State coordinate transformation for state-space modelxperm
Reorder states in state-space models
Modal Decomposition
[edit | edit source]modsep
Region-based modal decompositionstabsep
Stable-unstable decompositionstabsepOptions
Options for stable-unstable decompositionfreqsep
Slow-fast decompositionfreqsepOptions
Options for slow-fast decompositionspectralfact
Spectral factorization of linear systems
Model Reduction
[edit | edit source]balred
Model order reductionbalredOptions
Create option set for model order reductionbalreal
Gramian-based input/output balancing of state-space realizationsminreal
Minimal realization or pole-zero cancelationsminreal
Structural pole/zero cancellationsmodred
Eliminate states from state-space modelsfreqsep
Slow-fast decompositionfreqsepOptions
Options for slow-fast decompositionhsvd
Hankel singular values of dynamic systemhsvplot
Plot Hankel singular values and return plot handlehsvdOptions
Create option set for computing Hankel singular values and input/output balancing
Linear Analysis
[edit | edit source]Time and Frequency Domain Analysis
[edit | edit source]step
Step response plot of dynamic system; step response datastepinfo
Rise time, settling time, and other step-response characteristicsimpulse
Impulse response plot of dynamic system; impulse response datainitial
Initial condition response of state-space modellsim
Simulate time response of dynamic system to arbitrary inputslsiminfo
Compute linear response characteristicsgensig
Generate test input signals for lsimcovar
Output and state covariance of system driven by white noisestepDataOptions
Options set for stepbode
Bode plot of frequency response, or magnitude and phase databodemag
Bode magnitude response of LTI modelsnyquist
Nyquist plot of frequency responsenichols
Nichols chart of frequency responsengrid
Superimpose Nichols chart on Nichols plotsigma
Singular values plot of dynamic systemfreqresp
Frequency response over gridevalfr
Evaluate frequency response at given frequencydcgain
Low-frequency (DC) gain of LTI systembandwidth
Frequency response bandwidthgetPeakGain
Peak gain of dynamic system frequency responsegetGainCrossover
Crossover frequencies for specified gainfnorm
Pointwise peak gain of FRD modelnorm
Norm of linear modeldb2mag
Convert decibels (dB) to magnitudemag2db
Convert magnitude to decibels (dB)
Stability Analysis
[edit | edit source]pole
Compute poles of dynamic systemzero
Zeros and gain of SISO dynamic systemdamp
Natural frequency and damping ratiodsort
Sort discrete-time poles by magnitudeesort
Sort continuous-time poles by real parttzero
Invariant zeros of linear systempzplot
Pole-zero map of dynamic system model with plot customization optionsiopzplot
Plot pole-zero map for I/O pairs and return plot handleallmargin
Gain margin, phase margin, delay margin and crossover frequenciesmargin
Gain margin, phase margin, and crossover frequencies
Sensitivity Analysis
[edit | edit source]sampleBlock
Sample Control Design blocks in generalized modelrsampleBlock
Randomly sample Control Design blocks in generalized model
Passivity and Sector Bounds
[edit | edit source]isPassive
Check passivity of linear systemsgetPassiveIndex
Compute passivity index of linear systempassiveplot
Compute or plot passivity index as function of frequencygetSectorIndex
Compute conic-sector index of linear systemgetSectorCrossover
Crossover frequencies for sector boundsectorplot
Compute or plot sector index as function of frequency
Plot Customization
[edit | edit source]impulseplot
Plot impulse response and return plot handleinitialplot
Plot initial condition response and return plot handlelsimplot
Simulate response of dynamic system to arbitrary inputs and return plot handlestepplot
Plot step response and return plot handlebodeplot
Plot Bode frequency response with additional plot customization optionsnicholsplot
Plot Nichols frequency responses and return plot handlenyquistplot
Nyquist plot with additional plot customization optionssigmaplot
Plot singular values of frequency response and return plot handlebodeoptions
Create list of Bode plot optionshsvoptions
Plot options for hsvplotnicholsoptions
Create list of Nichols plot optionsnyquistoptions
List of Nyquist plot optionspzoptions
Create list of pole/zero plot optionssigmaoptions
Create list of singular-value plot optionstimeoptions
Create list of time plot optionssetoptions
Set plot options for response plotgetoptions
Return @PlotOptions handle or plot options propertyctrlpref
Set Control System Toolbox preferencesupdateSystem
Update dynamic system data in a response plot
Control System Design and Tuning
[edit | edit source]PID Controller Tuning
[edit | edit source]pidTuner
Open PID Tuner for PID tuningpidtune
PID tuning algorithm for linear plant modelpidtuneOptions
Define options for pidtune command
Classical Control Design
[edit | edit source]rlocus
Root locus plot of dynamic systemrlocusplot
Plot root locus and return plot handlesisoinit
Configure Control System Designer at startup
State-Space Control Design and Estimation
[edit | edit source]State-Space Control Design
[edit | edit source]lqr
Linear-Quadratic Regulator (LQR) designlqry
Form linear-quadratic (LQ) state-feedback regulator with output weightinglqi
Linear-Quadratic-Integral controldlqr
Linear-quadratic (LQ) state-feedback regulator for discrete-time state-space systemlqrd
Design discrete linear-quadratic (LQ) regulator for continuous plantlqg
Linear-Quadratic-Gaussian (LQG) designlqgreg
Form linear-quadratic-Gaussian (LQG) regulatorlqgtrack
Form Linear-Quadratic-Gaussian (LQG) servo controlleraugstate
Append state vector to output vectornorm
Norm of linear modelestim
Form state estimator given estimator gainplace
Pole placement designreg
Form regulator given state-feedback and estimator gains
State Estimation
[edit | edit source]kalman
Kalman filter design, Kalman estimatorkalmd
Design discrete Kalman estimator for continuous plantestim
Form state estimator given estimator gainextendedKalmanFilter
Create extended Kalman filter object for online state estimationunscentedKalmanFilter
Create unscented Kalman filter object for online state estimationparticleFilter
Particle filter object for online state estimationcorrect
Correct state and state estimation error covariance using extended or unscented Kalman filter, or particle filter and measurementspredict
Predict state and state estimation error covariance at next time step using extended or unscented Kalman filter, or particle filterinitialize
Initialize the state of the particle filterclone
Copy online state estimation object
Multiloop, Multiobjective Tuning
[edit | edit source]Programmatic Tuning
[edit | edit source]Setup for Tuning Simulink Models
[edit | edit source]slTuner
Interface for control system tuning of Simulink modelsslTunerOptions
Set slTuner interface optionsaddBlock
Add block to list of tuned blocks for slTuner interfaceaddOpening
Add signal to list of openings for slLinearizer or slTuner interfaceaddPoint
Add signal to list of analysis points for slLinearizer or slTuner interfacerefresh
Resynchronize slLinearizer or slTuner interface with current model stateremoveAllOpenings
Remove all openings from list of permanent openings in slLinearizer or slTuner interfaceremoveAllPoints
Remove all points from list of analysis points in slLinearizer or slTuner interfaceremoveBlock
Remove block from list of tuned blocks in slTuner interfaceremoveOpening
Remove opening from list of permanent loop openings in slLinearizer or slTuner interfaceremovePoint
Remove point from list of analysis points in slLinearizer or slTuner interfacesetBlockParam
Set parameterization of tuned block in slTuner interfacesetBlockRateConversion
Set rate conversion settings for tuned block in slTuner interfacesetBlockValue
Set value of tuned block parameterization in slTuner interfacewriteBlockValue
Update block values in Simulink modelwriteLookupTableData
Update portion of tuned lookup tablegetBlockParam
Get parameterization of tuned block in slTuner interfacegetBlockRateConversion
Get rate conversion settings for tuned block in slTuner interfacegetBlockValue
Get current value of tuned block parameterization in slTuner interfacegetOpenings
Get list of openings for slLinearizer or slTuner interfacegetPoints
Get list of analysis points for slLinearizer or slTuner interfaceshowTunable
Show value of parameterizations of tunable blocks of slTuner interface
Setup for Tuning MATLAB Models
[edit | edit source]tf
Create transfer function model, convert to transfer function modelzpk
Create zero-pole-gain model; convert to zero-pole-gain modelss
Create state-space model, convert to state-space modeltunableGain
Tunable static gain blocktunableTF
Tunable transfer function with fixed number of poles and zerostunablePID
Tunable PID controllertunablePID2
Tunable two-degree-of-freedom PID controllertunableSS
Tunable fixed-order state-space modelrealp
Real tunable parameterAnalysisPoint
Points of interest for linear analysisconnect
Block diagram interconnections of dynamic systemsfeedback
Feedback connection of two models
Tuning Goals
[edit | edit source]TuningGoal
.StepTracking Step response requirement for control system tuningTuningGoal
.StepRejection Step disturbance rejection requirement for control system tuningTuningGoal
.Transient Transient matching requirement for control system tuningTuningGoal
.LQG Linear-Quadratic-Gaussian (LQG) goal for control system tuningTuningGoal
.Gain Gain constraint for control system tuningTuningGoal
.Variance Noise amplification constraint for control system tuningTuningGoal
.Tracking Tracking requirement for control system tuningTuningGoal
.Overshoot Overshoot constraint for control system tuningTuningGoal
.Rejection Disturbance rejection requirement for control system tuningTuningGoal
.Sensitivity Sensitivity requirement for control system tuningTuningGoal
.WeightedGain Frequency-weighted gain constraint for control system tuningTuningGoal
.WeightedVariance Frequency-weighted H2 norm constraint for control system tuningTuningGoal
.MinLoopGain Minimum loop gain constraint for control system tuningTuningGoal
.MaxLoopGain Maximum loop gain constraint for control system tuningTuningGoal
.LoopShape Target loop shape for control system tuningTuningGoal
.Margins Stability margin requirement for control system tuningTuningGoal
.Passivity Passivity constraint for control system tuningTuningGoal
.ConicSector Sector bound for control system tuningTuningGoal
.WeightedPassivity Frequency-weighted passivity constraintTuningGoal
.Poles Constraint on control system dynamicsTuningGoal
.ControllerPoles Constraint on controller dynamics for control system tuning
Tuning, Analysis, and Validation
[edit | edit source]systune
(slTuner) Tune control system parameters in Simulink using slTuner interfacesystuneOptions
Set options for systunegetIOTransfer
(slTuner) Transfer function for specified I/O set using slLinearizer or slTuner interfacegetLoopTransfer
(slTuner) Open-loop transfer function at specified point using slLinearizer or slTuner interfacegetSensitivity
(slTuner) Sensitivity function at specified point using slLinearizer or slTuner interfacegetCompSensitivity
(slTuner) Complementary sensitivity function at specified point using slLinearizer or slTuner interfacewriteBlockValue
Update block values in Simulink modelsystune
Tune fixed-structure control systems modeled in MATLABsystuneOptions
Set options for systunegetIOTransfer
Closed-loop transfer function from generalized model of control systemgetLoopTransfer
Open-loop transfer function of control systemgetSensitivity
Sensitivity function from generalized model of control systemgetCompSensitivity
Complementary sensitivity function from generalized model of control systemviewGoal
View tuning goals; validate design against tuning goalsevalGoal
Evaluate tuning goals for tuned control system
Loop-Shaping Design
[edit | edit source]slTuner
Interface for control system tuning of Simulink modelslooptune
Tune MIMO feedback loops in Simulink using slTuner interfacelooptuneOptions
Set options for looptuneloopview
Graphically analyze results of control system tuning using slTuner interfacelooptuneSetup
Construct tuning setup for looptune to tuning setup for systune using slTuner interfacelooptune
Tune fixed-structure feedback loopslooptuneOptions
Set options for looptuneloopview
Graphically analyze MIMO feedback loopslooptuneSetup
Convert tuning setup for looptune to tuning setup for systuneviewGoal
View tuning goals; validate design against tuning goalsevalGoal
Evaluate tuning goals for tuned control system
Gain Scheduling
[edit | edit source]tunableSurface
Create tunable gain surface for gain schedulingpolyBasis
Polynomial basis functions for tunable gain surfacefourierBasis
Fourier basis functions for tunable gain surfacendBasis
Basis functions for tunable gain surfaceviewSurf
Visualize gain surface as a function of scheduling variablesevalSurf
Evaluate gain surfaces at specific design pointsgetData
Get current values of tunable-surface coefficientssetData
Set values of tunable-surface coefficientscodegen
Generate MATLAB code for tunable gain surfacessystune
Tune fixed-structure control systems modeled in MATLABslTuner
Interface for control system tuning of Simulink modelssystune
(slTuner) Tune control system parameters in Simulink using slTuner interfacevoidModel
Mark missing or irrelevant models in model arrayvaryingGoal
Variable tuning goal for gain-scheduled controllersgetGoal
Evaluate variable tuning goal at specified design point
Matrix Computations
[edit | edit source]lyap
Continuous Lyapunov equation solutionlyapchol
Square-root solver for continuous-time Lyapunov equationdlyap
Solve discrete-time Lyapunov equationsdlyapchol
Square-root solver for discrete-time Lyapunov equationscare
Continuous-time algebraic Riccati equation solutiondare
Solve discrete-time algebraic Riccati equations (DAREs)gcare
Generalized solver for continuous-time algebraic Riccati equationgdare
Generalized solver for discrete-time algebraic Riccati equationctrb
Controllability matrixobsv
Observability matrixctrbf
Compute controllability staircase formobsvf
Compute observability staircase formgram
Controllability and observability GramiansgramOptions
Options for the gram commandbdschur
Block-diagonal Schur factorizationnorm
Norm of linear model