📄 fuzblock.mdl
字号:
" of inflection for the left and right curves. The parameters a1 and a2 should"
" be positive."
MaskHelp "eval('doc dsigmf')"
MaskPromptString "Left curve a1:|Left curve c1:|Right curve a"
"2:|Right curve c2:"
MaskStyleString "edit,edit,edit,edit"
MaskTunableValueString "on,on,on,on"
MaskCallbackString "|||"
MaskEnableString "on,on,on,on"
MaskVisibilityString "on,on,on,on"
MaskToolTipString "on,on,on,on"
MaskVarAliasString ",,,"
MaskVariables "a1=@1;c1=@2;a2=@3;c2=@4;"
MaskInitialization "x=-10:0.5:10;\nparams=[3 -5 1 5];\ny=dsigmf"
"(x,params);"
MaskDisplay "plot(x,y);"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "3|-5|1|5"
MaskTabNameString ",,,"
System {
Name "Diff. Sigmoidal MF"
Location [158, 187, 860, 662]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "90"
Block {
BlockType Inport
Name "x"
Position [30, 217, 50, 233]
Port "1"
IconDisplay "Port number"
LatchInput off
}
Block {
BlockType Abs
Name "Abs\n(dsigmf)"
Position [610, 210, 640, 240]
ZeroCross off
}
Block {
BlockType Constant
Name "Constant1"
Position [375, 219, 395, 241]
ShowName off
}
Block {
BlockType Sum
Name "Difference\n(dsigmf)"
Ports [2, 1]
Position [560, 206, 580, 244]
NamePlacement "alternate"
Inputs "+-"
}
Block {
BlockType Math
Name "Exponential1\n(dsigmf)"
Ports [1, 1]
Position [340, 134, 370, 166]
}
Block {
BlockType Math
Name "Exponential2\n(dsigmf)"
Ports [1, 1]
Position [340, 284, 370, 316]
}
Block {
BlockType Gain
Name "Gain"
Position [150, 355, 180, 385]
Gain "-1"
}
Block {
BlockType Gain
Name "Gain1"
Position [155, 65, 185, 95]
Gain "-1"
}
Block {
BlockType Math
Name "Inverse1\n(dsigmf)"
Ports [1, 1]
Position [485, 169, 515, 201]
Operator "reciprocal"
}
Block {
BlockType Math
Name "Inverse2\n(dsigmf)"
Ports [1, 1]
Position [485, 254, 515, 286]
Operator "reciprocal"
}
Block {
BlockType Product
Name "Product1\n(dsigmf)"
Ports [2, 1]
Position [225, 132, 255, 163]
Inputs "**"
RndMeth "Floor"
Port {
PortNumber 1
Name "-a1*(x-c1)"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
ShowSigGenPortName on
}
}
Block {
BlockType Product
Name "Product2\n(dsigmf)"
Ports [2, 1]
Position [225, 282, 255, 313]
Inputs "**"
RndMeth "Floor"
Port {
PortNumber 1
Name "-a2*(x-c2)"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
ShowSigGenPortName on
}
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [430, 260, 450, 280]
ShowName off
IconShape "round"
}
Block {
BlockType Sum
Name "Sum2"
Ports [2, 1]
Position [145, 136, 165, 174]
NamePlacement "alternate"
ShowName off
Inputs "-+"
Port {
PortNumber 1
Name "x-c1"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
ShowSigGenPortName on
}
}
Block {
BlockType Sum
Name "Sum3"
Ports [2, 1]
Position [430, 175, 450, 195]
ShowName off
IconShape "round"
}
Block {
BlockType Sum
Name "Sum5"
Ports [2, 1]
Position [145, 271, 165, 309]
NamePlacement "alternate"
ShowName off
Inputs "+-"
Port {
PortNumber 1
Name "x-c2"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
ShowSigGenPortName on
}
}
Block {
BlockType Constant
Name "a1"
Position [80, 65, 110, 95]
Value "a1"
}
Block {
BlockType Constant
Name "a2"
Position [75, 355, 105, 385]
Value "a2"
}
Block {
BlockType Constant
Name "c1"
Position [80, 130, 110, 160]
Value "c1"
}
Block {
BlockType Constant
Name "c2"
Position [75, 285, 105, 315]
Value "c2"
}
Block {
BlockType Outport
Name "MF"
Position [670, 219, 685, 231]
IconDisplay "Port number"
BusOutputAsStruct off
}
Line {
SrcBlock "Abs\n(dsigmf)"
SrcPort 1
Points [0, 0]
DstBlock "MF"
DstPort 1
}
Line {
SrcBlock "Difference\n(dsigmf)"
SrcPort 1
DstBlock "Abs\n(dsigmf)"
DstPort 1
}
Line {
SrcBlock "Inverse2\n(dsigmf)"
SrcPort 1
Points [15, 0; 0, -35]
DstBlock "Difference\n(dsigmf)"
DstPort 2
}
Line {
SrcBlock "Inverse1\n(dsigmf)"
SrcPort 1
Points [15, 0; 0, 30]
DstBlock "Difference\n(dsigmf)"
DstPort 1
}
Line {
SrcBlock "Gain1"
SrcPort 1
Points [20, 0]
DstBlock "Product1\n(dsigmf)"
DstPort 1
}
Line {
SrcBlock "a1"
SrcPort 1
DstBlock "Gain1"
DstPort 1
}
Line {
SrcBlock "Constant1"
SrcPort 1
Points [40, 0]
Branch {
DstBlock "Sum1"
DstPort 1
}
Branch {
DstBlock "Sum3"
DstPort 2
}
}
Line {
SrcBlock "Exponential2\n(dsigmf)"
SrcPort 1
Points [65, 0]
DstBlock "Sum1"
DstPort 2
}
Line {
Name "-a1*(x-c1)"
Labels [0, 0]
SrcBlock "Product1\n(dsigmf)"
SrcPort 1
DstBlock "Exponential1\n(dsigmf)"
DstPort 1
}
Line {
Name "x-c1"
Labels [0, 0]
SrcBlock "Sum2"
SrcPort 1
DstBlock "Product1\n(dsigmf)"
DstPort 2
}
Line {
SrcBlock "c1"
SrcPort 1
DstBlock "Sum2"
DstPort 1
}
Line {
SrcBlock "Exponential1\n(dsigmf)"
SrcPort 1
Points [65, 0]
DstBlock "Sum3"
DstPort 1
}
Line {
SrcBlock "Sum3"
SrcPort 1
DstBlock "Inverse1\n(dsigmf)"
DstPort 1
}
Line {
SrcBlock "Gain"
SrcPort 1
Points [15, 0; 0, -65]
DstBlock "Product2\n(dsigmf)"
DstPort 2
}
Line {
SrcBlock "a2"
SrcPort 1
DstBlock "Gain"
DstPort 1
}
Line {
Name "-a2*(x-c2)"
Labels [0, 0]
SrcBlock "Product2\n(dsigmf)"
SrcPort 1
DstBlock "Exponential2\n(dsigmf)"
DstPort 1
}
Line {
Name "x-c2"
Labels [0, 0]
SrcBlock "Sum5"
SrcPort 1
DstBlock "Product2\n(dsigmf)"
DstPort 1
}
Line {
SrcBlock "c2"
SrcPort 1
DstBlock "Sum5"
DstPort 2
}
Line {
SrcBlock "Sum1"
SrcPort 1
DstBlock "Inverse2\n(dsigmf)"
DstPort 1
}
Line {
SrcBlock "x"
SrcPort 1
Points [70, 0]
Branch {
Points [0, 55]
DstBlock "Sum5"
DstPort 1
}
Branch {
Points [0, -60]
DstBlock "Sum2"
DstPort 2
}
}
}
}
Block {
BlockType SubSystem
Name "Gaussian MF"
Ports [1, 1]
Position [50, 108, 95, 152]
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
MaskType "gaussmf"
MaskDescription "Symmetric Gaussian membership function give"
"n by\n\n f ( x ) = exp ^ ( ( - 0.5 ( x - c) ^ 2 ) / sigma ^ 2 )\n\nwhe"
"re c is the mean and sigma is the variance."
MaskHelp "eval('doc gaussmf')"
MaskPromptString "Variance sigma:|Mean c:"
MaskStyleString "edit,edit"
MaskTunableValueString "on,on"
MaskCallbackString "|"
MaskEnableString "on,on"
MaskVisibilityString "on,on"
MaskToolTipString "on,on"
MaskVarAliasString ","
MaskVariables "sigma=@1;mu=@2;"
MaskInitialization "x=-10:0.5:10;\nparams=[7 0];\ny=gaussmf(x,p"
"arams);"
MaskDisplay "plot(x,y);"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "1|0"
MaskTabNameString ","
System {
Name "Gaussian MF"
Location [115, 575, 623, 812]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "x"
Position [30, 27, 50, 43]
Port "1"
IconDisplay "Port number"
LatchInput off
}
Block {
BlockType Math
Name "Exponential\n(gaussmf)"
Ports [1, 1]
Position [415, 29, 445, 61]
}
Block {
BlockType Gain
Name "Gain"
Position [345, 30, 375, 60]
ShowName off
Gain "-0.5"
Port {
PortNumber 1
Name "2b"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
ShowSigGenPortName on
}
}
Block {
BlockType Product
Name "Product\n(gaussmf)"
Ports [2, 1]
Position [160, 27, 190, 58]
Inputs "*/"
RndMeth "Floor"
}
Block {
BlockType Math
Name "Squaring\n(gaussmf)"
Ports [1, 1]
Position [275, 29, 305, 61]
Operator "square"
}
Block {
BlockType Sum
Name "Sum"
Ports [2, 1]
Position [95, 25, 115, 45]
ShowName off
IconShape "round"
Inputs "|+-"
Port {
PortNumber 1
Name "x-c"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
ShowSigGenPortName on
}
}
Block {
BlockType Constant
Name "mu"
Position [25, 65, 55, 95]
Value "mu"
}
Block {
BlockType Constant
Name "sigma"
Position [25, 125, 55, 155]
Value "sigma"
}
Block {
BlockType Outport
Name "MF"
Position [475, 39, 490, 51]
IconDisplay "Port number"
BusOutputAsStruct off
}
Line {
SrcBlock "x"
SrcPort 1
DstBlock "Sum"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -