📄 airgk.mdl
字号:
SampleTime "T"
}
Block {
BlockType Constant
Name "m"
Position [235, 27, 285, 43]
Orientation "left"
ShowName off
Value "T"
}
Block {
BlockType Outport
Name "xdot"
Position [25, 38, 55, 52]
Orientation "left"
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Line {
SrcBlock "Sum4"
SrcPort 1
DstBlock "Product2"
DstPort 2
}
Line {
SrcBlock "Unit Delay1"
SrcPort 1
Points [-25, 0]
DstBlock "Sum4"
DstPort 2
}
Line {
SrcBlock "Zero-Order\nHold1"
SrcPort 1
Points [0, 0; -40, 0]
Branch {
DstBlock "Sum4"
DstPort 1
}
Branch {
DstBlock "Unit Delay1"
DstPort 1
}
}
Line {
SrcBlock "m"
SrcPort 1
DstBlock "Product2"
DstPort 1
}
Line {
SrcBlock "Product2"
SrcPort 1
DstBlock "xdot"
DstPort 1
}
Line {
SrcBlock "x"
SrcPort 1
DstBlock "Zero-Order\nHold1"
DstPort 1
}
}
}
Block {
BlockType Mux
Name "Mux"
Ports [3, 1, 0, 0, 0]
Position [625, 188, 630, 312]
ShowName off
Inputs "[14 1 1]"
DisplayOption "bar"
}
Block {
BlockType Mux
Name "Mux1"
Ports [3, 1, 0, 0, 0]
Position [350, 32, 355, 198]
ShowName off
Inputs "[12 1 1]"
DisplayOption "bar"
Port {
PortNumber 1
Name "x(1-12),G(13),sgm(14)"
TestPoint off
RTWStorageClass "Auto"
}
}
Block {
BlockType Mux
Name "Mux2"
Ports [4, 1, 0, 0, 0]
Position [625, 14, 630, 176]
ShowName off
Inputs "[14 1 1 1]"
DisplayOption "bar"
}
Block {
BlockType Mux
Name "Mux3"
Ports [2, 1, 0, 0, 0]
Position [405, 269, 410, 311]
ShowName off
Inputs "[14 1]"
DisplayOption "bar"
}
Block {
BlockType Product
Name "Product1"
Ports [2, 1, 0, 0, 0]
Position [300, 74, 315, 156]
ShowName off
Inputs "**"
SaturateOnIntegerOverflow on
Port {
PortNumber 1
Name "G"
TestPoint off
RTWStorageClass "Auto"
}
}
Block {
BlockType Sum
Name "Sum4"
Ports [2, 1, 0, 0, 0]
Position [155, 275, 175, 295]
ShowName off
IconShape "round"
Inputs "|-+"
SaturateOnIntegerOverflow on
Port {
PortNumber 1
Name "psi"
TestPoint off
RTWStorageClass "Auto"
}
}
Block {
BlockType Fcn
Name "V/g"
Position [210, 86, 275, 104]
NamePlacement "alternate"
FontName "Arial"
Expr "u[1]/(9.80665*(6371020/(6371020+u[1"
"2]))^2)"
}
Block {
BlockType Fcn
Name "a"
Position [455, 240, 575, 260]
FontName "Arial"
Expr "cos(u[2])*cos(u[3])"
Port {
PortNumber 1
Name "a"
TestPoint off
RTWStorageClass "Auto"
}
}
Block {
BlockType Fcn
Name "at(15)"
Position [455, 65, 575, 85]
FontName "Arial"
Expr "1-u[13]*tan(u[2])*sin(u[3])"
Port {
PortNumber 1
Name "at"
TestPoint off
RTWStorageClass "Auto"
}
}
Block {
BlockType Trigonometry
Name "atan"
Ports [1, 1, 0, 0, 0]
Position [745, 240, 780, 260]
NamePlacement "alternate"
ShowName off
Operator "atan"
OutputSignalType "auto"
Port {
PortNumber 1
Name "theta"
TestPoint off
RTWStorageClass "Auto"
}
}
Block {
BlockType Trigonometry
Name "atan1"
Ports [1, 1, 0, 0, 0]
Position [745, 85, 780, 105]
NamePlacement "alternate"
ShowName off
Operator "atan"
OutputSignalType "auto"
Port {
PortNumber 1
Name "phi"
TestPoint off
RTWStorageClass "Auto"
}
}
Block {
BlockType Fcn
Name "b"
Position [455, 280, 575, 300]
FontName "Arial"
Expr "sin(u[15])*sin(u[3])+cos(u[9])*sin("
"u[2])*cos(u[3])"
Port {
PortNumber 1
Name "b"
TestPoint off
RTWStorageClass "Auto"
}
}
Block {
BlockType Selector
Name "beta"
Position [90, 271, 135, 299]
Elements "3"
InputPortWidth "12"
}
Block {
BlockType Fcn
Name "bt(16)"
Position [455, 105, 575, 125]
FontName "Arial"
Expr "u[14]/cos(u[3])"
Port {
PortNumber 1
Name "bt"
TestPoint off
RTWStorageClass "Auto"
}
}
Block {
BlockType Fcn
Name "ct(17)"
Position [455, 145, 575, 165]
FontName "Arial"
Expr "1+u[13]*u[13]*cos(u[3])*cos(u[3])"
Port {
PortNumber 1
Name "ct"
TestPoint off
RTWStorageClass "Auto"
}
}
Block {
BlockType Fcn
Name "sin(gamma)"
Position [265, 161, 315, 179]
FontName "Arial"
Expr "sin(u[1])"
}
Block {
BlockType Fcn
Name "tpsi"
Position [665, 85, 720, 105]
FontName "Arial"
Expr "u[13]*cos(u[3])/cos(u[2])*(u[15]-u["
"16]*u[16]+u[16]*tan(u[2])*sqrt(abs(u[17]*(1-u[16]*u[16])+u[13]*u[13]*sin(u[3]"
")*sin(u[3]))))/(u[15]*u[15]-u[16]*u[16]*(1+u[17]*tan(u[2])*tan(u[2])))"
}
Block {
BlockType Fcn
Name "tth"
Position [665, 240, 720, 260]
FontName "Arial"
Expr "(u[15]*u[16]+u[14]*sqrt(abs(u[15]*u"
"[15]-u[14]*u[14]+u[16]*u[16])))/(u[15]*u[15]-u[14]*u[14])"
}
Block {
BlockType Outport
Name "phi"
Position [915, 88, 945, 102]
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Outport
Name "theta"
Position [840, 243, 870, 257]
Port "2"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Outport
Name "psi"
Position [210, 278, 240, 292]
Port "3"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Line {
Name "psi"
Labels [0, 0]
SrcBlock "Sum4"
SrcPort 1
Points [10, 0]
Branch {
Points [0, -150]
DstBlock "Derivative"
DstPort 1
}
Branch {
DstBlock "psi"
DstPort 1
}
}
Line {
SrcBlock "beta"
SrcPort 1
DstBlock "Sum4"
DstPort 1
}
Line {
SrcBlock "chi"
SrcPort 1
Points [100, 0]
DstBlock "Sum4"
DstPort 2
}
Line {
Name "psidot"
Labels [0, 0]
SrcBlock "Derivative"
SrcPort 1
DstBlock "Product1"
DstPort 2
}
Line {
SrcBlock "V/g"
SrcPort 1
DstBlock "Product1"
DstPort 1
}
Line {
SrcBlock "gamma"
SrcPort 1
DstBlock "sin(gamma)"
DstPort 1
}
Line {
SrcBlock "sin(gamma)"
SrcPort 1
DstBlock "Mux1"
DstPort 3
}
Line {
Name "G"
Labels [0, 0]
SrcBlock "Product1"
SrcPort 1
DstBlock "Mux1"
DstPort 2
}
Line {
Name "x(1-12),G(13),sgm(14)"
SrcBlock "Mux1"
SrcPort 1
Points [15, 0]
Branch {
DstBlock "bt(16)"
DstPort 1
}
Branch {
Points [0, -40]
Branch {
DstBlock "at(15)"
DstPort 1
}
Branch {
Labels [2, 0]
Points [0, -40]
DstBlock "Mux2"
DstPort 1
}
}
Branch {
Points [0, 40]
Branch {
DstBlock "ct(17)"
DstPort 1
}
Branch {
Points [0, 55]
Branch {
Labels [1, 0]
DstBlock "Mux"
DstPort 1
}
Branch {
Points [0, 40]
Branch {
DstBlock "a"
DstPort 1
}
Branch {
Points [0, 30]
DstBlock "Mux3"
DstPort 1
}
}
}
}
}
Line {
SrcBlock "Mux2"
SrcPort 1
DstBlock "tpsi"
DstPort 1
}
Line {
SrcBlock "tth"
SrcPort 1
DstBlock "atan"
DstPort 1
}
Line {
SrcBlock "Mux"
SrcPort 1
DstBlock "tth"
DstPort 1
}
Line {
SrcBlock "Mux3"
SrcPort 1
DstBlock "b"
DstPort 1
}
Line {
Name "a"
Labels [1, 0]
SrcBlock "a"
SrcPort 1
DstBlock "Mux"
DstPort 2
}
Line {
Name "b"
Labels [1, 0]
SrcBlock "b"
SrcPort 1
DstBlock "Mux"
DstPort 3
}
Line {
Name "phi"
Labels [0, 0]
SrcBlock "atan1"
SrcPort 1
Points [110, 0]
Branch {
Points [0, 230; -520, 0; 0, -25]
DstBlock "Mux3"
DstPort 2
}
Branch {
DstBlock "phi"
DstPort 1
}
}
Line {
SrcBlock "tpsi"
SrcPort 1
DstBlock "atan1"
DstPort 1
}
Line {
Name "at"
Labels [1, 1]
SrcBlock "at(15)"
SrcPort 1
DstBlock "Mux2"
DstPort 2
}
Line {
Name "bt"
Labels [1, 1]
SrcBlock "bt(16)"
SrcPort 1
DstBlock "Mux2"
DstPort 3
}
Line {
Name "ct"
Labels [1, 1]
SrcBlock "c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -