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

MRRACLinearFullOrder

Guides

  • Guide to ZigangPan`MRRACLinearFullOrder`

Symbols

  • costtocomefunctionLTIMIMO1
  • robustMRACdesignMIMOFullOrder0
  • robustMRACdesignMIMOFullOrder1
ZigangPan`MRRACLinearFullOrder`
costtocomefunctionLTIMIMO1
​
{estimatorsystem,estimatorIS,qbar,Π1,af1,qchk1}=costtocomefunctionLTIMIMO1[m,r,a1,achk,b,bchkb,dchk,d1,a2111,a2112,a2113,a212,e1,θ,pθ,γ,referencemodel,θchk0,xchk0,q0,Φ0,ρo,Δbar1i,βΔ,kccoeff]
m
: is output dimension.
r
: is the uniform vector relative degree of the design model.
a1
: is the
nn
-dimensional system matrix.
achk
: is the
nmm
-dimensional matrix
b
: is the
nmm
-dimensional matrix.
bchkb
: is the
nm(p-m)
-dimensional matrix.
dchk
: is the
nmqchk
-dimensional matrix.
d1
: is the
nqb
-dimensional matrix.
a2111
: is the
nmσm
-dimensional tensor.
a2112
: is the
nmσ(p-m)
-dimensional tensor.
a2113
: is the
nmσqchk
-dimensional tensor.
a212
: is the
nmσm
-dimensional tensor.
e1
: is the
1qb
-dimensional matrix.
θ
: is the vector of unknown parameters.
pθ
: is a pure function such that
Apply
[
pθ
,θ]≤1
for true values
θ
.
γ
: is the desired disturbance attenuation level.
referencemodel
: is a NLsystem model describing the reference model of the system.
θchk0
: is the initial estimate for
θ
.
xchk0
: is the initial estimate for the system states (in the design model).
q0
: is the positive definite weighting matrix for the initial parameter estimation error:
θ-θchk0
.
Φ0
: is the initial value for the matrix
Φ
.
ρo
: is a real value that is greater than 1.
Δbar1i
: is the initial value for
Δbar1
. (The program will yield all rational number coefficients in the controller, there is no approximation in the controller.)
βΔ
: is a nonnegative real value.
kccoeff
: is a real value that is greater than or equal to 1, and sets
Kc=kccoeff*γ^2*
Tr
[q0]
. When kccoeff=1, then Σ and sΣ are constant matrix and constant scalar, respectively. Returned variables:
estimatorsystem
: is a NLsystem model for the estimator dynamics.
estimatorIS
: is the initial state for the estimator dynamics.
qbar
: is the expression for the matrix
qbar
.
Π1
: is the numeric positive definite matrix
Π1
.
af1
: is the numeric Hurwitz matrix
af1
.
qchk1
: is the dimension of the measured disturbances with relative degree ≥
r
. If the inputs are of rational coefficients, then the returned variables are of rational coefficients.
​
Examples  
(1)
Basic Examples  
(1)
In[1]:=
Needs["ZigangPan`Examples`"]
assumePositive
::shdw
:Symbol assumePositive appears in multiple contexts {ZigangPan`Examples`,Global`}​; definitions in context ZigangPan`Examples` may shadow or be shadowed by other definitions.
​
assumeReal
::shdw
:Symbol assumeReal appears in multiple contexts {ZigangPan`Examples`,Global`}​; definitions in context ZigangPan`Examples` may shadow or be shadowed by other definitions.
​
In[2]:=
θbar={θ1};
In[3]:=
mimosystem={{x1,x2,x3},{u1,u2,w1,w2},{y1,y2,z1,z2},{{0,0,1,1,θ1,0,0},{0,0,0,-θ1,-θ1^2,0,0},​​{0,0,0,1,0,0,0},{1,0,0,0,0,1,0},{θ1,1,0,0,0,0,1},{1,0,0,0,0,0,0},{θ1,1,0,0,0,0,0}},{1,2},{1,2},​​{1,2},{3,4},{1,2},{3,4}};systemcheck[mimosystem]
Out[3]=
True
In[4]:=
$Assumptions=$Assumptions&&assumePositive[θbar]&&assumeReal[Join[mimosystem〚1〛,mimosystem〚2〛,mimosystem〚3〛]];
In[5]:=
{r,highfrequencygain,systemaddI,systemaddO,transformation,zerodynamics}=EZDCFAD[mimosystem,θbar]
System already has uniform vector relative degree!
State transformation is xold = transformation.xnew
Out[5]=
2,{{1,θ1},{θ1,0}},default,{{x4},{u3,u4},{y3,y4},{{0,1,0},{1,0,0},{0,0,1}},{1,2},{1,2},{1,2},{},{1,2},{}},0,1,
1
θ1
,0,{0,-θ1,0,0},0,0,0,
1
θ1
,{1,0,0,0},{x11,x21,x31,x41},{u1,u2,w1,w2},{y1,y2,z1,z2,y3,y4},0,1,
1
θ1
,0,0,0,1,0,{0,0,0,0,1,θ1,0,0},{0,0,0,1,0,0,0,0},{0,0,0,0,θ1,0,0,0},0,1,
1
θ1
,0,0,0,1,0,{0,0,1,0,0,0,0,1},0,1,
1
θ1
,0,0,0,0,0,{0,0,1,0,0,0,0,0},{1,0,0,0,0,0,0,0},{0,0,1,0,0,0,0,1},{1,2},{5,6},{1,2},{3,4},{1,2,5,6},{3,4}
In[6]:=
systemoperation[zerodynamics,{"View"}];
Active
a1
a2
Type
s1
s2
s3
s4
c1
c2
d1
d2
names
x11
x21
x31
x41
u1
u2
w1
w2
s1
x11
0
1
1
θ1
0
0
0
1
0
s2
x21
0
0
0
0
1
θ1
0
0
s3
x31
0
0
0
1
0
0
0
0
s4
x41
0
0
0
0
θ1
0
0
0
m1
y1
0
1
1
θ1
0
0
0
1
0
m2
y2
0
0
1
0
0
0
0
1
c1
z1
0
1
1
θ1
0
0
0
0
0
c2
z2
0
0
1
0
0
0
0
0
a1
m3
y3
1
0
0
0
0
0
0
0
a2
m4
y4
0
0
1
0
0
0
0
1
In[7]:=
{systemobservable,nO,observabilityindices,transformation1,systemextended}=uniformobservabilityindices[zerodynamics];
State transformation is xold = transformation.xnew
System already has uniform observability indices!
In[8]:=
systemextended=FullSimplify[systemextended];
In[9]:=
systemoperation[systemextended,{"View"}];
Active
a1
a2
Type
s1
s2
s3
s4
c1
c2
d1
d2
names
x1
x2
x3
x4
u1
u2
w1
w2
s1
x1
0
1
1
θ1
0
0
0
1
0
s2
x2
0
0
0
0
1
θ1
0
0
s3
x3
0
0
0
1
0
0
0
0
s4
x4
0
0
0
0
θ1
0
0
0
m1
y1
0
1
1
θ1
0
0
0
1
0
m2
y2
0
0
1
0
0
0
0
1
c1
z1
0
1
1
θ1
0
0
0
0
0
c2
z2
0
0
1
0
0
0
0
0
a1
m3
y3
1
0
0
0
0
0
0
0
a2
m4
y4
0
0
1
0
0
0
0
1
In[10]:=
designmodel=systemoperation[systemoperation[systemextended,{"Drop outputs",{y1,y2}}],{"View"}];
Active
a1
a2
Type
s1
s2
s3
s4
c1
c2
d1
d2
names
x1
x2
x3
x4
u1
u2
w1
w2
s1
x1
0
1
1
θ1
0
0
0
1
0
s2
x2
0
0
0
0
1
θ1
0
0
s3
x3
0
0
0
1
0
0
0
0
s4
x4
0
0
0
0
θ1
0
0
0
c1
z1
0
1
1
θ1
0
0
0
0
0
c2
z2
0
0
1
0
0
0
0
0
a1
m1
y3
1
0
0
0
0
0
0
0
a2
m2
y4
0
0
1
0
0
0
0
1
In[11]:=
designmodelr=systemoperation[designmodel,{"State transformation",Inverse[{{1,0,0,0},{0,0,1,0},{0,1,0,0},{0,0,0,1}}]}]
State transformation is xold = transformation.xnew
Out[11]=
{x11,x21,x31,x41},{u1,u2,w1,w2},{z1,z2,y3,y4},0,
1
θ1
,1,0,0,0,1,0,{0,0,0,1,0,0,0,0},{0,0,0,0,1,θ1,0,0},{0,0,0,0,θ1,0,0,0},0,
1
θ1
,1,0,0,0,0,0,{0,1,0,0,0,0,0,0},{1,0,0,0,0,0,0,0},{0,1,0,0,0,0,0,1},{1,2},{3,4},{1,2},{3,4},{3,4},{1,2}
In[12]:=
systemoperation[designmodelr,{"View"}];
Active
a1
a2
Type
s1
s2
s3
s4
c1
c2
d1
d2
names
x11
x21
x31
x41
u1
u2
w1
w2
s1
x11
0
1
θ1
1
0
0
0
1
0
s2
x21
0
0
0
1
0
0
0
0
s3
x31
0
0
0
0
1
θ1
0
0
s4
x41
0
0
0
0
θ1
0
0
0
c1
z1
0
1
θ1
1
0
0
0
0
0
c2
z2
0
1
0
0
0
0
0
0
a1
m1
y3
1
0
0
0
0
0
0
0
a2
m2
y4
0
1
0
0
0
0
0
1
In[13]:=
θ=Table[ToExpression[StringJoin["θ",ToString[i]]],{i,1,2}];
In[14]:=
θrules={θ21/θ1}
Out[14]=
θ2
1
θ1

In[15]:=
θbarvalue={θ11}
Out[15]=
{θ11}

© 2025 Wolfram. All rights reserved.

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