📄 fuzblock.mdl
字号:
}
}
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 [405, 151, 455, 204]
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
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 "eval('doc probor')"
MaskDisplay "disp('Probor')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
System {
Name "Probabilistic Rule Agg"
Location [207, 638, 772, 877]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "In1"
Position [55, 43, 85, 57]
Port "1"
IconDisplay "Port number"
LatchInput off
}
Block {
BlockType Inport
Name "In2"
Position [55, 138, 85, 152]
Port "2"
IconDisplay "Port number"
LatchInput off
}
Block {
BlockType Product
Name "Product"
Ports [2, 1]
Position [195, 120, 240, 155]
RndMeth "Floor"
}
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]
IconDisplay "Port number"
BusOutputAsStruct off
}
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
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
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 "eval('doc psigmf')"
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"
"f(x,params);"
MaskDisplay "plot(x,y);"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "2|-5|-5|5"
MaskTabNameString ",,,"
System {
Name "Prod. Sigmoidal MF"
Location [156, 193, 850, 641]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "87"
Block {
BlockType Inport
Name "x"
Position [30, 217, 50, 233]
Port "1"
IconDisplay "Port number"
LatchInput off
}
Block {
BlockType Constant
Name "Constant1"
Position [375, 219, 395, 241]
ShowName off
}
Block {
BlockType Math
Name "Exponential1\n(psigmf)"
Ports [1, 1]
Position [340, 134, 370, 166]
}
Block {
BlockType Math
Name "Exponential2\n(psigmf)"
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(psigmf)"
Ports [1, 1]
Position [485, 169, 515, 201]
Operator "reciprocal"
}
Block {
BlockType Math
Name "Inverse2\n(psigmf)"
Ports [1, 1]
Position [485, 254, 515, 286]
Operator "reciprocal"
}
Block {
BlockType Product
Name "Product\n(psigmf)"
Ports [2, 1]
Position [570, 212, 600, 243]
Inputs "**"
RndMeth "Floor"
}
Block {
BlockType Product
Name "Product1\n(psigmf)"
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(psigmf)"
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 "Sum"
Ports [2, 1]
Position [145, 268, 165, 312]
ShowName off
Inputs "|+-"
Port {
PortNumber 1
Name "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 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, 290, 105, 320]
Value "c2"
}
Block {
BlockType Outport
Name "MF"
Position [655, 224, 670, 236]
IconDisplay "Port number"
BusOutputAsStruct off
}
Line {
SrcBlock "Gain1"
SrcPort 1
Points [20, 0]
DstBlock "Product1\n(psigmf)"
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(psigmf)"
SrcPort 1
Points [65, 0]
DstBlock "Sum1"
DstPort 2
}
Line {
SrcBlock "Inverse1\n(psigmf)"
SrcPort 1
Points [15, 0; 0, 35]
DstBlock "Product\n(psigmf)"
DstPort 1
}
Line {
Name "-a1*(x-c1)"
Labels [0, 0]
SrcBlock "Product1\n(psigmf)"
SrcPort 1
DstBlock "Exponential1\n(psigmf)"
DstPort 1
}
Line {
Name "x-c1"
Labels [0, 0]
SrcBlock "Sum2"
SrcPort 1
DstBlock "Product1\n(psigmf)"
DstPort 2
}
Line {
SrcBlock "c1"
SrcPort 1
DstBlock "Sum2"
DstPort 1
}
Line {
SrcBlock "Exponential1\n(psigmf)"
SrcPort 1
Points [65, 0]
DstBlock "Sum3"
DstPort 1
}
Line {
SrcBlock "Sum3"
SrcPort 1
DstBlock "Inverse1\n(psigmf)"
DstPort 1
}
Line {
SrcBlock "Inverse2\n(psigmf)"
SrcPort 1
Points [20, 0; 0, -35]
DstBlock "Product\n(psigmf)"
DstPort 2
}
Line {
SrcBlock "Gain"
SrcPort 1
Points [15, 0; 0, -65]
DstBlock "Product2\n(psigmf)"
DstPort 2
}
Line {
SrcBlock "a2"
SrcPort 1
DstBlock "Gain"
DstPort 1
}
Line {
Name "-a2*(x-c2)"
Labels [0, 0]
SrcBlock "Product2\n(psigmf)"
SrcPort 1
DstBlock "Exponential2\n(psigmf)"
DstPort 1
}
Line {
Name "x-c2"
Labels [0, 0]
SrcBloc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -