Dynamic Systems
Maple provides a series of control systems design tools that give you the ability to work analytically with linear time-invariant dynamic systems. The DynamicSystems package is a collection of procedures for creating, manipulating, simulating, and plotting linear time-invariant systems models. Maple 18 includes several updates to existing commands as well as new commands:
Updated options for all system constructors, the StateSpace command, and the ToDiscrete command.
New commands for interconnecting systems, working with discrete systems, and computing norms and covariance matrices.
withDynamicSystems:
Parameters Option
StateSpace Options
ToDiscrete Methods
Connection Commands
ToContinuous and Resample Commands
Norms and Noise Analysis
See Also
All system constructors, such as TransferFunction and DiffEquation, now accept a parameters option that consists of a list of equations specifying the parameter names and corresponding values. These parameters are used by procedures that require numeric values, for example, the plot routines. Most procedures that require numeric systems also provide a parameters option that can override the parameters assigned to the system.
sys:=TransferFunction⁡As+ω,parameters=A=1,ω=2:
MagnitudePlot⁡sys
Here, the parameters option of the plot procedure overrides the parameter A in the object:
MagnitudePlot⁡sys,parameters=A=100
Random Systems
The StateSpace constructor accepts new options such as randomtest and genbound which are useful for generating random stable state-space systems.
ss1:=StateSpace⁡'randomtest','numstates'=3,'numinputs'=2,'numoutputs'=1,'genbound'=5.:
PrintSystem⁡ss1
Symbolic Systems
The StateSpace constructor also accepts the usesymbols keyword option, which can be used to construct state matrices with symbolic elements.
ss2:=StateSpace⁡'numstates'=3,'numinputs'=2,'numoutputs'=1,'usesymbols':
PrintSystem⁡ss2
State Spacecontinuous1 output(s); 2 input(s); 3 state(s)inputvariable=u1⁡t,u2⁡toutputvariable=y1⁡tstatevariable=x1⁡t,x2⁡t,x3⁡ta=a1,1a1,2a1,3a2,1a2,2a2,3a3,1a3,2a3,3b=b1,1b1,2b2,1b2,2b3,1b3,2c=c1,1c1,2c1,3d=d1,1d1,2
A new method for discretization, first-order hold (foh), has been added to the ToDiscrete command. Like the zero-order hold method, this method can be applied to state-space, transfer-function, and coefficient system types.
A number of new commands for interconnecting systems have been added:
AppendConnect: Create the equivalent system representation of two or more system objects combined by appending their inputs and outputs.
FeedbackConnect: Create the equivalent system representation of one or two system objects with positive or negative feedback connection.
ParallelConnect: Create the equivalent system representation of two or more system objects connected in parallel.
SeriesConnect: Create the equivalent system representation of two or more system objects connected in series.
sys1:=StateSpace⁡usesymbols,numstates=2,numinputs=1,numoutputs=1,symbols=A1,B1,C1,D1:
PrintSystem⁡sys1
State Spacecontinuous1 output(s); 1 input(s); 2 state(s)inputvariable=u1⁡toutputvariable=y1⁡tstatevariable=x1⁡t,x2⁡ta=A11,1A11,2A12,1A12,2b=B11,1B12,1c=C11,1C11,2d=D11,1
sys2:=StateSpace⁡usesymbols,numstates=2,numinputs=1,numoutputs=1,symbols=A2,B2,C2,D2:
PrintSystem⁡sys2
State Spacecontinuous1 output(s); 1 input(s); 2 state(s)inputvariable=u1⁡toutputvariable=y1⁡tstatevariable=x1⁡t,x2⁡ta=A21,1A21,2A22,1A22,2b=B21,1B22,1c=C21,1C21,2d=D21,1
sys_series:=SeriesConnect⁡sys1,sys2:
PrintSystem⁡sys_series
State Spacecontinuous1 output(s); 1 input(s); 4 state(s)inputvariable=u1⁡toutputvariable=y1⁡tstatevariable=x1⁡t,x2⁡t,x3⁡t,x4⁡ta=A11,1A11,200A12,1A12,200B21,1⁢C11,1B21,1⁢C11,2A21,1A21,2B22,1⁢C11,1B22,1⁢C11,2A22,1A22,2b=B11,1B12,1B21,1⁢D11,1B22,1⁢D11,1c=D21,1⁢C11,1D21,1⁢C11,2C21,1C21,2d=D21,1⁢D11,1
sys_parallel:=ParallelConnect⁡sys1,sys2:
PrintSystem⁡sys_parallel
State Spacecontinuous1 output(s); 1 input(s); 4 state(s)inputvariable=u1⁡toutputvariable=y1⁡tstatevariable=x1⁡t,x2⁡t,x3⁡t,x4⁡ta=A11,1A11,200A12,1A12,20000A21,1A21,200A22,1A22,2b=B11,1B12,1B21,1B22,1c=C11,1C11,2C21,1C21,2d=D11,1+D21,1
The ToContinuous command converts discrete systems to continuous systems using a specified conversion method.
sysd:=TransferFunction⁡1z+a,discrete,parameters=a=3:
sysc1:=ToContinuous⁡sysd,method=forward:
PrintSystem⁡sysc1
Transfer Functioncontinuous1 output(s); 1 input(s)inputvariable=u1⁡soutputvariable=y1⁡stf1,1=1s+1+a
sysc2:=ToContinuous⁡sysd,method=prewarp:
PrintSystem⁡sysc2
Transfer Functioncontinuous1 output(s); 1 input(s)inputvariable=u1⁡soutputvariable=y1⁡stf1,1=s−2.a⁢s−s−2.⁢a−2.
The Resample command resamples a discrete system with a new sampling time.
sysd2:=Resample⁡sysd,2,method=prewarp:
PrintSystem⁡sysd2
Transfer Functiondiscrete; sampletime = 21 output(s); 1 input(s)inputvariable=u1⁡zoutputvariable=y1⁡ztf1,1=z+3.a⁢z+3.⁢z+3.⁢a+1
The NormH2 and NormHinf commands compute the H__2 and H__∞ norms, respectively, of a system.
sys:=TransferFunction⁡1s+12:
NormH2⁡sys
0.500000000000000
NormHinf⁡sys
1.000001000
The Covariance command computes the output covariance Matrix with the inputs driven by white Gaussian noise.
Covariance⁡sys,1
DynamicSystems
Download Help Document