📄 fdctools.mdl
字号:
Name "const.1"
Position [20, 140, 45, 160]
FontName "Arial"
FontSize 11
Value "0"
}
Block {
BlockType Outport
Name "Out"
Position [205, 78, 235, 92]
FontSize 11
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Line {
SrcBlock "Crit"
SrcPort 1
Points [15, 0; 0, 20]
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "const.1"
SrcPort 1
Points [75, 0; 0, -55]
DstBlock "Switch"
DstPort 3
}
Line {
SrcBlock "Sum"
SrcPort 1
DstBlock "Switch"
DstPort 2
}
Line {
SrcBlock "Switch"
SrcPort 1
DstBlock "Out"
DstPort 1
}
Line {
SrcBlock "In"
SrcPort 1
Points [75, 0; 0, 55]
DstBlock "Switch"
DstPort 1
}
Line {
SrcBlock "const."
SrcPort 1
Points [15, 0; 0, -20]
DstBlock "Sum"
DstPort 2
}
}
}
Block {
BlockType SubSystem
Name "Scheduled Gain"
Ports [2, 1, 0, 0, 0]
Position [85, 33, 140, 77]
FontName "Arial"
FontSize 11
ShowPortLabels on
MaskType "Scheduled Gain"
MaskDescription "Inputs: u1 and u2. \nOutput: y. \n\nOutput equa"
"tion: y = K(u1) * u2\n\nK is the gain-function, which must be entered below"
". See the description of the Fcn block from the Nonlinear library for details"
" about valid expressions and the block-characteristics."
MaskHelp "Scheduled Gain function.<br><br>\nInputs: u1 an"
"d u2, <br><br>\noutput: y, <br><br>\noutput equation: y = K(u1) * u2.<br><b"
"r>\nK is the gain-function, which must be entered as block-parameter. See the"
" description of the Fcn block from the Nonlinear library for details about va"
"lid expressions and the block-characteristics."
MaskPromptString "Gain function:"
MaskStyleString "edit"
MaskTunableValueString "on"
MaskEnableString "on"
MaskVisibilityString "on"
MaskVariables "K=&1;"
MaskInitialization "blockname = [gcb, '/Gain Fcn K(u1)'];\nset_para"
"m(blockname,'Expr',K)"
MaskDisplay "plot([0,100,0,0],[0,46,100,0]);disp('K(u1) "
" ');"
MaskSelfModifiable on
MaskIconFrame off
MaskIconOpaque on
MaskIconRotate "port"
MaskIconUnits "autoscale"
MaskValueString "sin(u[1])"
System {
Name "Scheduled Gain"
Location [82, 189, 468, 359]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
AutoZoom on
Block {
BlockType Inport
Name "Inputvector u1 \nfor the Gain-\nfunction K"
"(v)"
Position [30, 48, 60, 62]
FontName "Arial"
FontSize 11
Port "1"
PortWidth "-1"
SampleTime "-1"
DataType "auto"
SignalType "auto"
Interpolate on
Port {
PortNumber 1
Name "u1"
TestPoint off
RTWStorageClass "Auto"
}
}
Block {
BlockType Inport
Name "Input u2"
Position [30, 118, 60, 132]
FontName "Arial"
FontSize 11
Port "2"
PortWidth "-1"
SampleTime "-1"
DataType "auto"
SignalType "auto"
Interpolate on
Port {
PortNumber 1
Name "u2"
TestPoint off
RTWStorageClass "Auto"
}
}
Block {
BlockType Fcn
Name "Gain Fcn K(u1)"
Position [100, 45, 235, 65]
FontName "Arial"
FontSize 11
Expr "sin(u[1])"
}
Block {
BlockType Product
Name "Product"
Ports [2, 1, 0, 0, 0]
Position [270, 22, 290, 158]
ShowName off
FontName "Arial"
Inputs "2"
SaturateOnIntegerOverflow on
Port {
PortNumber 1
Name "y"
TestPoint off
RTWStorageClass "Auto"
}
}
Block {
BlockType Outport
Name "Output\ny = K(u1) * u2"
Position [330, 83, 360, 97]
FontName "Arial"
FontSize 11
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Line {
SrcBlock "Gain Fcn K(u1)"
SrcPort 1
DstBlock "Product"
DstPort 1
}
Line {
Name "u2"
FontName "Arial"
Labels [1, 0]
SrcBlock "Input u2"
SrcPort 1
DstBlock "Product"
DstPort 2
}
Line {
Name "y"
FontName "Arial"
Labels [-1, 1]
SrcBlock "Product"
SrcPort 1
DstBlock "Output\ny = K(u1) * u2"
DstPort 1
}
Line {
Name "u1"
FontName "Arial"
Labels [-1, 1]
SrcBlock "Inputvector u1 \nfor the Gain-\nfunction K"
"(v)"
SrcPort 1
DstBlock "Gain Fcn K(u1)"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "Scheduled Gain\n(right to left)"
Ports [2, 1, 0, 0, 0]
Position [85, 98, 140, 142]
Orientation "left"
FontName "Arial"
FontSize 11
ShowPortLabels on
MaskType "Scheduled Gain"
MaskDescription "Inputs: u1 and u2. \nOutput: y. \n\nOutput equa"
"tion: y = K(u1) * u2\n\nK is the gain-function, which must be entered below"
". See the description of the Fcn block from the Nonlinear library for details"
" about valid expressions and the block-characteristics."
MaskHelp "Scheduled Gain function.<br><br>\nInputs: u1 an"
"d u2, <br><br>\noutput: y, <br><br>\noutput equation: y = K(u1) * u2.<br><b"
"r>\nK is the gain-function, which must be entered as block-parameter. See the"
" description of the Fcn block from the Nonlinear library for details about va"
"lid expressions and the block-characteristics."
MaskPromptString "Gain function:"
MaskStyleString "edit"
MaskTunableValueString "on"
MaskEnableString "on"
MaskVisibilityString "on"
MaskVariables "K=&1;"
MaskInitialization "blockname = [gcb, '/Gain Fcn K(u1)'];\nset_para"
"m(blockname,'Expr',K)"
MaskDisplay "plot([0,-100,0,0],[0,46,100,0]);disp(' K"
"(u1)');"
MaskSelfModifiable on
MaskIconFrame off
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "sin(u[1])"
System {
Name "Scheduled Gain\n(right to left)"
Location [82, 189, 468, 359]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
AutoZoom on
Block {
BlockType Inport
Name "Inputvector u1 \nfor the Gain-\nfunction K"
"(v)"
Position [30, 48, 60, 62]
FontName "Arial"
FontSize 11
Port "1"
PortWidth "-1"
SampleTime "-1"
DataType "auto"
SignalType "auto"
Interpolate on
Port {
PortNumber 1
Name "u1"
TestPoint off
RTWStorageClass "Auto"
}
}
Block {
BlockType Inport
Name "Input u2"
Position [30, 118, 60, 132]
FontName "Arial"
FontSize 11
Port "2"
PortWidth "-1"
SampleTime "-1"
DataType "auto"
SignalType "auto"
Interpolate on
Port {
PortNumber 1
Name "u2"
TestPoint off
RTWStorageClass "Auto"
}
}
Block {
BlockType Fcn
Name "Gain Fcn K(u1)"
Position [100, 45, 235, 65]
FontName "Arial"
FontSize 11
Expr "sin(u[1])"
}
Block {
BlockType Product
Name "Product"
Ports [2, 1, 0, 0, 0]
Position [270, 22, 290, 158]
ShowName off
FontName "Arial"
Inputs "2"
SaturateOnIntegerOverflow on
Port {
PortNumber 1
Name "y"
TestPoint off
RTWStorageClass "Auto"
}
}
Block {
BlockType Outport
Name "Output\ny = K(u1) * u2"
Position [330, 83, 360, 97]
FontName "Arial"
FontSize 11
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Line {
Name "u1"
FontName "Arial"
Labels [-1, 1]
SrcBlock "Inputvector u1 \nfor the Gain-\nfunction K"
"(v)"
SrcPort 1
DstBlock "Gain Fcn K(u1)"
DstPort 1
}
Line {
Name "y"
FontName "Arial"
Labels [-1, 1]
SrcBlock "Product"
SrcPort 1
DstBlock "Output\ny = K(u1) * u2"
DstPort 1
}
Line {
Name "u2"
FontName "Arial"
Labels [1, 0]
SrcBlock "Input u2"
SrcPort 1
DstBlock "Product"
DstPort 2
}
Line {
SrcBlock "Gain Fcn K(u1)"
SrcPort 1
DstBlock "Product"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "Soft limiter"
Ports [1, 1, 0, 0, 0]
Position [325, 30, 380, 70]
FontName "Arial"
FontSize 11
ShowPortLabels on
MaskType "Soft limiter"
MaskDescription "Soft limiter with partly linear throughput."
MaskHelp "Soft limiter with partly linear throughput. See"
" the source-code of SOFTLIM.M or type HELP SOFTLIM at the command-line to see"
" how this works.<br><br>\nParameters:<br><br>\n<li>Limiter range = maximum ou"
"tput value, which equal <i>minus</i> the minimum output value,\n<li>percentag"
"e of output range where y=u (in this part of the output range the function wi"
"ll yield a linear throughput)."
MaskPromptString "Limiter range= max. output value= --(min. outpu"
"t value):|% of output range where y=u (linear throughput):"
MaskStyleString "edit,edit"
MaskTunableValueString "on,on"
MaskCallbackString "|"
MaskEnableString "on,on"
MaskVisibilityString "on,on"
MaskInitialization "max_u=max(@1,1e-16); lin_u=min(0.9999,(max(@2,0"
")/100))*max_u; uplot=[-5*max_u:0.25*max_u:5*max_u]; for i = 1:length(uplot); "
"yplot(i)=softlim([],[],uplot(i),3,max_u,lin_u); end;"
MaskDisplay "plot(uplot, yplot, max_u*[-5,-1,1,5], max_u*[-1"
",-1,1,1], 0, -1.3*max_u, 0, 1.2*max_u, max_u*[-5,5], [0,0]);"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "10|10"
System {
Name "Soft limiter"
Location [22, 53, 241, 128]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "automatic"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
AutoZoom on
Block {
BlockType Inport
Name "In"
Position [20, 28, 50, 42]
Port "1"
PortWidth "-1"
SampleTime "-1"
DataType "auto"
SignalType "auto"
Interpolate on
}
Block {
BlockType "S-Function"
Name "Soft limiter"
Ports [1, 1, 0, 0, 0]
Position [85, 21, 135, 49]
FontName "Arial"
FontSize 11
FunctionName "softlim"
Parameters "max_u, lin_u"
PortCounts "[]"
SFunctionModules "''"
}
Block {
BlockType Outport
Name "Out"
Position [175, 28, 205, 42]
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Line {
SrcBlock "In"
SrcPort 1
DstBlock "Soft limiter"
DstPort 1
}
Line {
SrcBlock "Soft limiter"
SrcPort 1
DstBlock "Out"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "rot x"
Ports [2, 1, 0, 0, 0]
Position [420, 31, 465, 64]
ShowName off
FontName "Arial"
FontSize 11
ShowPortLabels on
MaskType "Rotation around X-axis"
MaskDescription "Direction cosines for rotation around positive "
"X-axis. The first input signal is a (3x1) vector which will be converted to t"
"he new reference frame. The second input is a scalar value, which represents "
"the rotation angle."
MaskHelp "Direction cosines for rotation around positive "
"X-axis.<br><br>\nThe first input signal is a (3x1) vector which will be conve"
"rted to the new reference frame. The second input is a scalar value, which re"
"presents the rotation angle."
MaskDisplay "disp('rot x')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "pixels"
System {
Name "rot x"
Location [26, 56, 488, 216]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
AutoZoom off
Block {
BlockType Inport
Name "[x y z]'"
Position [280, 15, 310, 30]
Orientation "down"
NamePlacement "alternate"
FontName "Arial"
FontSize 11
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -