In [1]:
using Gadfly
import Fuzzy
In [40]:
xValues = -10:.01:10
yValues = Fuzzy.TriangleMF(-5,0,5)[xValues]
plot(x=xValues,y=yValues,Geom.line)
Out[40]:
In [41]:
yValues = Fuzzy.TrapezoidMF(-3,-1,1,3)[xValues]
plot(x=xValues,y=yValues,Geom.line)
Out[41]:
In [42]:
yValues = (Fuzzy.GaussMF(0.0,1.0)[xValues])
plot(x=xValues,y=yValues,Geom.line)
Out[42]:
In [43]:
tt2mf = Fuzzy.TriangleType2(Fuzzy.TriangleMF(1,3,5),Fuzzy.TriangleMF(-1,3,7))
(upper,lower) = tt2mf[xValues]
plot(layer(x=xValues,ymax=upper,ymin=lower,Geom.ribbon),layer(x=xValues,y=upper,Geom.line),layer(x=xValues,y=lower,Geom.line))
Out[43]:
In [44]:
gt2mf = Fuzzy.GaussType2(0,0,1,2)
(upper,lower) = gt2mf[xValues]
plot(layer(x=xValues,ymax=upper,ymin=lower,Geom.ribbon),layer(x=xValues,y=upper,Geom.line),layer(x=xValues,y=lower,Geom.line))
Out[44]:
In [45]:
gt2mf = Fuzzy.GaussType2(1,0,1,1)
(upper,lower) = gt2mf[xValues]
plot(layer(x=xValues,ymax=upper,ymin=lower,Geom.ribbon),layer(x=xValues,y=upper,Geom.line),layer(x=xValues,y=lower,Geom.line))
Out[45]:
In [46]:
yValues = intersect(Fuzzy.TriangleMF(-2,0,2),Fuzzy.GaussMF(1,.5))[xValues]
plot(x=xValues,y=yValues,Geom.line)
Out[46]:
In [47]:
yValues = union(Fuzzy.TriangleMF(-2,0,2),(Fuzzy.TriangleMF(0,2,4)))[xValues]
plot(x=xValues,y=yValues,Geom.line)
Out[47]:
In [48]:
yValues = complement(Fuzzy.TriangleMF(-2,0,2))[xValues]
plot(x=xValues,y=yValues,Geom.line)
Out[48]:
In [60]:
gt2mf = Fuzzy.GaussType2(1,0,1,1)
(upper,lower) = complement(gt2mf)[xValues]
m = mean(vcat(upper,lower),1)
plot(layer(x=xValues,y=m,ymax=upper,ymin=lower,Geom.line,Geom.ribbon),layer(x=xValues,y=upper,Geom.line),layer(x=xValues,y=lower,Geom.line))
Out[60]:
In [50]:
gt2mf = Fuzzy.GaussType2(1,0,1,1)
tt2mf = Fuzzy.TriangleType2(Fuzzy.TriangleMF(1,3,5),Fuzzy.TriangleMF(-1,3,7))
(upper,lower) = (gt2mf ∪ tt2mf)[xValues]
plot(layer(x=xValues,ymax=upper,ymin=lower,Geom.ribbon),layer(x=xValues,y=upper,Geom.line),layer(x=xValues,y=lower,Geom.line))
Out[50]:
In [59]:
using Colors
gt2mf = Fuzzy.GaussType2(1,0,1,1)
tt2mf = Fuzzy.TriangleType2(Fuzzy.TriangleMF(1,3,5),Fuzzy.TriangleMF(-1,3,7))
(upper,lower) = (gt2mf ∩ tt2mf)[xValues]
m = mean(vcat(upper,lower),1)
plot(x=xValues,y=m,ymax=upper,ymin=lower,Geom.line,Geom.ribbon)
#plot(layer(x=xValues,ymax=upper,ymin=lower,Geom.ribbon,Theme(lowlight_color=c->RGBA{Float32}(c.r, c.g, c.b, .15))),layer(x=xValues,y=upper,Geom.line),layer(x=xValues,y=lower,Geom.line),
# layer(x=xValues,y=m,Geom.line,Theme(default_color=colorant"red")))
Out[59]:
In [ ]: