📄 fuzblock.mdl
字号:
Line {
SrcBlock "c"
SrcPort 1
Points [45, 0]
DstBlock "Sum"
DstPort 2
}
Line {
SrcBlock "x"
SrcPort 1
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "Exponent\n(gbellmf)"
SrcPort 1
DstBlock "Sum1"
DstPort 1
}
Line {
SrcBlock "One"
SrcPort 1
Points [280, 0]
DstBlock "Sum1"
DstPort 2
}
Line {
SrcBlock "Sum1"
SrcPort 1
DstBlock "Inverse\n(gbellmf)"
DstPort 1
}
Line {
SrcBlock "Inverse\n(gbellmf)"
SrcPort 1
DstBlock "MF"
DstPort 1
}
Annotation {
Name "(x-c)/a"
Position [257, 41]
}
}
}
Block {
BlockType SubSystem
Name "Pi-shaped MF"
Ports [1, 1]
Position [155, 189, 200, 241]
TreatAsAtomicUnit off
MaskType "pimf"
MaskDescription "Pi-shaped membership function.\n\nThe param"
"eters a and d set the left and right base point or \"feet\" of the curve. T"
"he parameters b and c set the left and right top point or \"shoulders\" of th"
"e curve."
MaskHelp "web(['file:///' docroot '/toolbox/fuzzy/mem"
"bershipfunctionslibrar.html']);"
MaskPromptString "Left base point a:|Left top point b:|Right "
"top point c:|Right base point d:"
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 "a=@1;b=@2;c=@3;d=@4;"
MaskInitialization "x=-10:0.5:10;\nparams=[-9 -7 2 8];\ny=pimf("
"x,params);"
MaskDisplay "plot(x,y);"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "-9|-7|2|8"
System {
Name "Pi-shaped MF"
Location [477, 552, 1115, 819]
Open off
ModelBrowserVisibility on
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "95"
Block {
BlockType Inport
Name "x"
Position [30, 47, 50, 63]
}
Block {
BlockType Constant
Name "Constant4"
Position [345, 105, 365, 125]
ShowName off
}
Block {
BlockType Product
Name "Product"
Ports [2, 1]
Position [505, 52, 535, 83]
}
Block {
BlockType Sum
Name "Sum"
Ports [2, 1]
Position [420, 50, 440, 70]
ShowName off
Inputs "-+"
Port {
PortNumber 1
Name "S MF"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
DataLogging off
DataLoggingNameMode "SignalName"
DataLoggingDecimateData off
DataLoggingDecimation "2"
DataLoggingLimitDataPoints off
DataLoggingMaxPoints "5000"
}
}
Block {
BlockType Reference
Name "Z-shaped MF"
Ports [1, 1]
Position [260, 31, 305, 79]
SourceBlock "fuzblock/Membership \nFunctions/Z-shape"
"d MF"
SourceType "zmf"
a "a"
b "b"
}
Block {
BlockType Reference
Name "Z-shaped MF1"
Ports [1, 1]
Position [265, 146, 310, 194]
SourceBlock "fuzblock/Membership \nFunctions/Z-shape"
"d MF"
SourceType "zmf"
a "c"
b "d"
Port {
PortNumber 1
Name "Z MF"
TestPoint off
LinearAnalysisOutput off
LinearAnalysisInput off
RTWStorageClass "Auto"
DataLogging off
DataLoggingNameMode "SignalName"
DataLoggingDecimateData off
DataLoggingDecimation "2"
DataLoggingLimitDataPoints off
DataLoggingMaxPoints "5000"
}
}
Block {
BlockType Outport
Name "Pi MF"
Position [590, 62, 605, 78]
}
Line {
SrcBlock "Product"
SrcPort 1
DstBlock "Pi MF"
DstPort 1
}
Line {
Name "Z MF"
Labels [0, 0]
SrcBlock "Z-shaped MF1"
SrcPort 1
Points [160, 0; 0, -95]
DstBlock "Product"
DstPort 2
}
Line {
SrcBlock "x"
SrcPort 1
Points [60, 0]
Branch {
DstBlock "Z-shaped MF"
DstPort 1
}
Branch {
Points [0, 115]
DstBlock "Z-shaped MF1"
DstPort 1
}
}
Line {
SrcBlock "Z-shaped MF"
SrcPort 1
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "Constant4"
SrcPort 1
Points [0, -50]
DstBlock "Sum"
DstPort 2
}
Line {
Name "S MF"
Labels [0, 0]
SrcBlock "Sum"
SrcPort 1
DstBlock "Product"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "Probabilistic OR"
Ports [1, 1]
Position [50, 278, 100, 332]
TreatAsAtomicUnit off
MaskType "probor OR method"
MaskDescription "Probabilistic OR function.\n\n y = 1"
" - prod( 1 - x )\n\nThis block outputs the probabilistic OR value for the vec"
"tor signal input."
MaskHelp "web(['file:///' docroot '/toolbox/fuzzy/mem"
"bershipfunctionslibrar.html']);"
MaskDisplay "disp('Probor')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
System {
Name "Probabilistic OR"
Location [453, 458, 1018, 697]
Open off
ModelBrowserVisibility on
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "In1"
Position [55, 43, 85, 57]
}
Block {
BlockType Constant
Name "Constant4"
Position [55, 125, 85, 155]
}
Block {
BlockType Product
Name "Product"
Ports [1, 1]
Position [230, 43, 275, 77]
Inputs "1"
}
Block {
BlockType Sum
Name "Sum"
Ports [2, 1]
Position [135, 41, 180, 74]
NamePlacement "alternate"
ShowName off
Inputs "-+"
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [330, 51, 375, 84]
NamePlacement "alternate"
ShowName off
Inputs "-+"
}
Block {
BlockType Outport
Name "Out1"
Position [460, 63, 490, 77]
}
Line {
SrcBlock "Sum1"
SrcPort 1
DstBlock "Out1"
DstPort 1
}
Line {
SrcBlock "In1"
SrcPort 1
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "Constant4"
SrcPort 1
Points [30, 0]
Branch {
Points [180, 0; 0, -65]
DstBlock "Sum1"
DstPort 2
}
Branch {
DstBlock "Sum"
DstPort 2
}
}
Line {
SrcBlock "Sum"
SrcPort 1
DstBlock "Product"
DstPort 1
}
Line {
SrcBlock "Product"
SrcPort 1
DstBlock "Sum1"
DstPort 1
}
Annotation {
Name "probor ( X) = 1-prod(1-X)"
Position [465, 47]
}
Annotation {
Name "X"
Position [103, 23]
}
}
}
Block {
BlockType SubSystem
Name "Probabilistic Rule Agg"
Ports [2, 1]
Position [165, 281, 215, 334]
TreatAsAtomicUnit off
MaskType "probor rule agg method"
MaskDescription "Probabilistic OR, rule aggregation method."
"\n\n y = 1 - prod( 1 - [ a ; b ] )\n\nThis block outputs the element-w"
"ise(.*) probabilistic OR value of the two inputs. The two inputs a and b, are"
" row vectors."
MaskHelp "web(['file:///' docroot '/toolbox/fuzzy/mem"
"bershipfunctionslibrar.html']);"
MaskDisplay "disp('Probor')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
System {
Name "Probabilistic Rule Agg"
Location [207, 638, 772, 877]
Open off
ModelBrowserVisibility on
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "In1"
Position [55, 43, 85, 57]
}
Block {
BlockType Inport
Name "In2"
Position [55, 138, 85, 152]
Port "2"
}
Block {
BlockType Product
Name "Product"
Ports [2, 1]
Position [195, 120, 240, 155]
}
Block {
BlockType Sum
Name "Sum"
Ports [2, 1]
Position [195, 41, 240, 74]
NamePlacement "alternate"
ShowName off
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [330, 51, 375, 84]
NamePlacement "alternate"
ShowName off
Inputs "+-"
}
Block {
BlockType Outport
Name "Out1"
Position [460, 63, 490, 77]
}
Line {
SrcBlock "Sum1"
SrcPort 1
DstBlock "Out1"
DstPort 1
}
Line {
SrcBlock "In1"
SrcPort 1
Points [55, 0]
Branch {
DstBlock "Sum"
DstPort 1
}
Branch {
Points [0, 80]
DstBlock "Product"
DstPort 1
}
}
Line {
SrcBlock "In2"
SrcPort 1
Points [5, 0]
Branch {
Points [0, -80]
DstBlock "Sum"
DstPort 2
}
Branch {
Points [0, 0]
DstBlock "Product"
DstPort 2
}
}
Line {
SrcBlock "Sum"
SrcPort 1
DstBlock "Sum1"
DstPort 1
}
Line {
SrcBlock "Product"
SrcPort 1
Points [70, 0]
DstBlock "Sum1"
DstPort 2
}
Annotation {
Name "probor ( [a; b] ) = 1-prod(1-[a;b])"
Position [465, 47]
}
Annotation {
Name "a"
Position [103, 18]
}
Annotation {
Name "b"
Position [113, 173]
}
}
}
Block {
BlockType SubSystem
Name "Prod. Sigmoidal MF"
Ports [1, 1]
Position [260, 190, 305, 240]
TreatAsAtomicUnit off
MaskType "psigmf"
MaskDescription "\"Product of two sigmoids\" membership func"
"tion. The two sigmoid curves are given by\n\n fk ( x ) = 1 / ( 1 + exp"
"( -ak ( x - ck) ) ) k=1,2\n\nThe parameters a1 and a2 control the slopes"
" of the left and right curves. The parameters c1 and c2 control the points of"
" inflection for the left and right curves. Parameters a1 and a2 should be pos"
"itive and negative respectively."
MaskHelp "web(['file:///' docroot '/toolbox/fuzzy/mem"
"bershipfunctionslibrar.html']);"
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=[2 -5 -5 5];\ny=psigm"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -