Wolfram Language Paclet Repository

Community-contributed installable additions to the Wolfram Language

Primary Navigation

    • Cloud & Deployment
    • Core Language & Structure
    • Data Manipulation & Analysis
    • Engineering Data & Computation
    • External Interfaces & Connections
    • Financial Data & Computation
    • Geographic Data & Computation
    • Geometry
    • Graphs & Networks
    • Higher Mathematical Computation
    • Images
    • Knowledge Representation & Natural Language
    • Machine Learning
    • Notebook Documents & Presentation
    • Scientific and Medical Data & Computation
    • Social, Cultural & Linguistic Data
    • Strings & Text
    • Symbolic & Numeric Computation
    • System Operation & Setup
    • Time-Related Computation
    • User Interface Construction
    • Visualization & Graphics
    • Random Paclet
    • Alphabetical List
  • Using Paclets
    • Get Started
    • Download Definition Notebook
  • Learn More about Wolfram Language

LinearSystems

Guides

  • Guide for ZigangPan`LinearSystems`

Symbols

  • calculaterelativedegree
  • controllabilityQandindices
  • controllercanonicalform
  • detectabilityQ
  • DTLyapunovequation
  • DTRiccatiequation
  • dynamicextension
  • emptyLTIsystem
  • EZDCFAD
  • EZDCF
  • gainsystem
  • generalizedRiccatiequationHM
  • linearLyapunovequation
  • observabilityQandindices
  • observercanonicalform
  • rd0DMcompute
  • Riccatiequation
  • simulationLTIsystem
  • stablizabilityQ
  • strictobservercanonicalform
  • strictOCFAD
  • systemblockdiagonal
  • systemcheck
  • systemconcatenate
  • systemfeedback
  • systemoperation
  • systemparallel
  • uniformobservabilityindices
  • ZDCF
ZigangPan`LinearSystems`
systemoperation
​
systemoperation
[system,{'Commandstring'[,parameter]}]
performs an operation on the LTI
system
. Valid command strings include: View, Organize, Organize and View, Drop active inputs, Drop active outputs, Add active inputs, Add active outputs, Reorder active inputs, Reorder active outputs, Set active inputs, Set active outputs, Drop control inputs, Drop disturbance inputs, Drop measurement outputs, Drop controlled outputs, Add control inputs, Add disturbance inputs, Add measurement outputs, Add controlled outputs, Drop inputs, Drop outputs, State transformation. The command returns a LTI system.
​
Examples  
(1)
Basic Examples  
(1)
In[1]:=
system1={{x1,x2,x3},{u1,w1,u2,w2},{y1,y2,z1,z2},{{-1,θ1,0,0,0,0,1},{-2,-1,1,1,1,1,0},{-1,-θ2,-3,-1,1,1,1},{1,0,0,0,0,1,0},{0,1,0,0,0,0,1},{1,0,0,0,0,0,0},{0,1,0,0,0,0,0}},{1,3},{1,2},{1,3},{2,4},{1,2},{3,4}};
In[2]:=
systemoperation
[system1,{"View"}]
Active
a1
a2
Type
s1
s2
s3
c1
d1
c2
d2
names
x1
x2
x3
u1
w1
u2
w2
s1
x1
-1
θ1
0
0
0
0
1
s2
x2
-2
-1
1
1
1
1
0
s3
x3
-1
-θ2
-3
-1
1
1
1
a1
m1
y1
1
0
0
0
0
1
0
a2
m2
y2
0
1
0
0
0
0
1
c1
z1
1
0
0
0
0
0
0
c2
z2
0
1
0
0
0
0
0
Out[2]=
{{x1,x2,x3},{u1,w1,u2,w2},{y1,y2,z1,z2},{{-1,θ1,0,0,0,0,1},{-2,-1,1,1,1,1,0},{-1,-θ2,-3,-1,1,1,1},{1,0,0,0,0,1,0},{0,1,0,0,0,0,1},{1,0,0,0,0,0,0},{0,1,0,0,0,0,0}},{1,3},{1,2},{1,3},{2,4},{1,2},{3,4}}
In[3]:=
system2=
systemoperation
[system1,{"Organize and View"}]
Active
a1
a2
Type
s1
s2
s3
c1
c2
d1
d2
names
x1
x2
x3
u1
u2
w1
w2
s1
x1
-1
θ1
0
0
0
0
1
s2
x2
-2
-1
1
1
1
1
0
s3
x3
-1
-θ2
-3
-1
1
1
1
a1
m1
y1
1
0
0
0
1
0
0
a2
m2
y2
0
1
0
0
0
0
1
c1
z1
1
0
0
0
0
0
0
c2
z2
0
1
0
0
0
0
0
Out[3]=
{{x1,x2,x3},{u1,u2,w1,w2},{y1,y2,z1,z2},{{-1,θ1,0,0,0,0,1},{-2,-1,1,1,1,1,0},{-1,-θ2,-3,-1,1,1,1},{1,0,0,0,1,0,0},{0,1,0,0,0,0,1},{1,0,0,0,0,0,0},{0,1,0,0,0,0,0}},{1,2},{1,2},{1,2},{3,4},{1,2},{3,4}}
In[4]:=
system3=
systemoperation
[system2,{"Drop active inputs",{u1}}]
Out[4]=
{{x1,x2,x3},{u1,u2,w1,w2},{y1,y2,z1,z2},{{-1,θ1,0,0,0,0,1},{-2,-1,1,1,1,1,0},{-1,-θ2,-3,-1,1,1,1},{1,0,0,0,1,0,0},{0,1,0,0,0,0,1},{1,0,0,0,0,0,0},{0,1,0,0,0,0,0}},{2},{1,2},{1,2},{3,4},{1,2},{3,4}}
In[5]:=
systemoperation
[system3,{"View"}]
Active
a1
Type
s1
s2
s3
c1
c2
d1
d2
names
x1
x2
x3
u1
u2
w1
w2
s1
x1
-1
θ1
0
0
0
0
1
s2
x2
-2
-1
1
1
1
1
0
s3
x3
-1
-θ2
-3
-1
1
1
1
a1
m1
y1
1
0
0
0
1
0
0
a2
m2
y2
0
1
0
0
0
0
1
c1
z1
1
0
0
0
0
0
0
c2
z2
0
1
0
0
0
0
0
Out[5]=
{{x1,x2,x3},{u1,u2,w1,w2},{y1,y2,z1,z2},{{-1,θ1,0,0,0,0,1},{-2,-1,1,1,1,1,0},{-1,-θ2,-3,-1,1,1,1},{1,0,0,0,1,0,0},{0,1,0,0,0,0,1},{1,0,0,0,0,0,0},{0,1,0,0,0,0,0}},{2},{1,2},{1,2},{3,4},{1,2},{3,4}}
In[6]:=
systemoperation

systemoperation
[system3,{"Add active inputs",{u1}}],{"View"}
Active
a2
a1
Type
s1
s2
s3
c1
c2
d1
d2
names
x1
x2
x3
u1
u2
w1
w2
s1
x1
-1
θ1
0
0
0
0
1
s2
x2
-2
-1
1
1
1
1
0
s3
x3
-1
-θ2
-3
-1
1
1
1
a1
m1
y1
1
0
0
0
1
0
0
a2
m2
y2
0
1
0
0
0
0
1
c1
z1
1
0
0
0
0
0
0
c2
z2
0
1
0
0
0
0
0
Out[6]=
{{x1,x2,x3},{u1,u2,w1,w2},{y1,y2,z1,z2},{{-1,θ1,0,0,0,0,1},{-2,-1,1,1,1,1,0},{-1,-θ2,-3,-1,1,1,1},{1,0,0,0,1,0,0},{0,1,0,0,0,0,1},{1,0,0,0,0,0,0},{0,1,0,0,0,0,0}},{2,1},{1,2},{1,2},{3,4},{1,2},{3,4}}
In[7]:=
systemoperation

systemoperation
[system2,{"Reorder active inputs",{2,1}}],{"View"}
Active
a2
a1
Type
s1
s2
s3
c1
c2
d1
d2
names
x1
x2
x3
u1
u2
w1
w2
s1
x1
-1
θ1
0
0
0
0
1
s2
x2
-2
-1
1
1
1
1
0
s3
x3
-1
-θ2
-3
-1
1
1
1
a1
m1
y1
1
0
0
0
1
0
0
a2
m2
y2
0
1
0
0
0
0
1
c1
z1
1
0
0
0
0
0
0
c2
z2
0
1
0
0
0
0
0
Out[7]=
{{x1,x2,x3},{u1,u2,w1,w2},{y1,y2,z1,z2},{{-1,θ1,0,0,0,0,1},{-2,-1,1,1,1,1,0},{-1,-θ2,-3,-1,1,1,1},{1,0,0,0,1,0,0},{0,1,0,0,0,0,1},{1,0,0,0,0,0,0},{0,1,0,0,0,0,0}},{2,1},{1,2},{1,2},{3,4},{1,2},{3,4}}
In[8]:=
systemoperation

systemoperation
[%,{"Reorder active inputs",{2,1}}],{"View"}
Active
a1
a2
Type
s1
s2
s3
c1
c2
d1
d2
names
x1
x2
x3
u1
u2
w1
w2
s1
x1
-1
θ1
0
0
0
0
1
s2
x2
-2
-1
1
1
1
1
0
s3
x3
-1
-θ2
-3
-1
1
1
1
a1
m1
y1
1
0
0
0
1
0
0
a2
m2
y2
0
1
0
0
0
0
1
c1
z1
1
0
0
0
0
0
0
c2
z2
0
1
0
0
0
0
0
Out[8]=
{{x1,x2,x3},{u1,u2,w1,w2},{y1,y2,z1,z2},{{-1,θ1,0,0,0,0,1},{-2,-1,1,1,1,1,0},{-1,-θ2,-3,-1,1,1,1},{1,0,0,0,1,0,0},{0,1,0,0,0,0,1},{1,0,0,0,0,0,0},{0,1,0,0,0,0,0}},{1,2},{1,2},{1,2},{3,4},{1,2},{3,4}}
In[9]:=
systemoperation

systemoperation
[system2,{"Set active outputs",{z1,z2}}],{"View"}
Active
a1
a2
Type
s1
s2
s3
c1
c2
d1
d2
names
x1
x2
x3
u1
u2
w1
w2
s1
x1
-1
θ1
0
0
0
0
1
s2
x2
-2
-1
1
1
1
1
0
s3
x3
-1
-θ2
-3
-1
1
1
1
m1
y1
1
0
0
0
1
0
0
m2
y2
0
1
0
0
0
0
1
a1
c1
z1
1
0
0
0
0
0
0
a2
c2
z2
0
1
0
0
0
0
0
Out[9]=
{{x1,x2,x3},{u1,u2,w1,w2},{y1,y2,z1,z2},{{-1,θ1,0,0,0,0,1},{-2,-1,1,1,1,1,0},{-1,-θ2,-3,-1,1,1,1},{1,0,0,0,1,0,0},{0,1,0,0,0,0,1},{1,0,0,0,0,0,0},{0,1,0,0,0,0,0}},{1,2},{3,4},{1,2},{3,4},{1,2},{3,4}}
In[10]:=
systemoperation

systemoperation
[system2,{"Drop inputs",{u1,w2}}],{"View"}
Active
a1
Type
s1
s2
s3
c1
d1
names
x1
x2
x3
u2
w1
s1
x1
-1
θ1
0
0
0
s2
x2
-2
-1
1
1
1
s3
x3
-1
-θ2
-3
1
1
a1
m1
y1
1
0
0
1
0
a2
m2
y2
0
1
0
0
0
c1
z1
1
0
0
0
0
c2
z2
0
1
0
0
0
Out[10]=
{{x1,x2,x3},{u2,w1},{y1,y2,z1,z2},{{-1,θ1,0,0,0},{-2,-1,1,1,1},{-1,-θ2,-3,1,1},{1,0,0,1,0},{0,1,0,0,0},{1,0,0,0,0},{0,1,0,0,0}},{1},{1,2},{1},{2},{1,2},{3,4}}
In[11]:=
systemoperation

systemoperation
[system2,{"State transformation",{{1,0,0},{0,0,2},{0,-1,0}}}],{"View"}
State transformation is xold = transformation.xnew
Active
a1
a2
Type
s1
s2
s3
c1
c2
d1
d2
names
x11
x21
x31
u1
u2
w1
w2
s1
x11
-1
0
2θ1
0
0
0
1
s2
x21
1
-3
2θ2
1
-1
-1
-1
s3
x31
-1
-
1
2
-1
1
2
1
2
1
2
0
a1
m1
y1
1
0
0
0
1
0
0
a2
m2
y2
0
0
2
0
0
0
1
c1
z1
1
0
0
0
0
0
0
c2
z2
0
0
2
0
0
0
0
Out[11]=
{x11,x21,x31},{u1,u2,w1,w2},{y1,y2,z1,z2},{-1,0,2θ1,0,0,0,1},{1,-3,2θ2,1,-1,-1,-1},-1,-
1
2
,-1,
1
2
,
1
2
,
1
2
,0,{1,0,0,0,1,0,0},{0,0,2,0,0,0,1},{1,0,0,0,0,0,0},{0,0,2,0,0,0,0},{1,2},{1,2},{1,2},{3,4},{1,2},{3,4}
SeeAlso
systemcheck
 
▪
systemconcatenate
 
▪
systemparallel
 
▪
systemblockdiagonal
 
▪
systemfeedback

© 2025 Wolfram. All rights reserved.

  • Legal & Privacy Policy
  • Contact Us
  • WolframAlpha.com
  • WolframCloud.com