Usage

To use phuzzy in a project:

import phuzzy
tn = phuzzy.TruncNorm(alpha0=[2, 3], alpha1=[], number_of_alpha_levels=15, name="t")
tri = phuzzy.Triangle(alpha0=[1, 4], alpha1=[2], number_of_alpha_levels=5)
f = tn + tri
print(f.df)

available shapes

Uniform

1
2
3
import phuzzy.mpl as phm
uni = phm.Uniform(alpha0=[1, 4], number_of_alpha_levels=5, name="x")
uni.plot(show=True, filepath="/tmp/uniform.png", title=True)
uniform fuzzy number

Uniform fuzzy number (this is just an interval)

Triangle

1
2
3
4
import phuzzy.mpl as phm

tri = phm.Triangle(alpha0=[1, 4], alpha1=[2], number_of_alpha_levels=5)
tri.plot(show=False, filepath="/tmp/triangle.png", title=True)
Triangle fuzzy number

Triangle fuzzy number

Trapezoid

1
2
3
import phuzzy.mpl as phm
trap = phm.Trapezoid(alpha0=[1, 5], alpha1=[2, 3], number_of_alpha_levels=5)
trap.plot(show=False, filepath="/tmp/trapezoid.png", title=True)
Trapezoid fuzzy number

Trapezoid fuzzy number

TruncNorm

1
2
3
import phuzzy.mpl as phm
tn = phm.TruncNorm(alpha0=[1, 3], number_of_alpha_levels=15, name="x")
tn.plot(show=False, filepath="/tmp/truncnorm.png", title=True)
TruncNorm fuzzy number

TruncNorm fuzzy number

TruncGenNorm

1
2
3
import phuzzy.mpl as phm
tgn = phm.TruncGenNorm(alpha0=[1, 4], alpha1=[2, 3], number_of_alpha_levels=15, beta=3.)
tgn.plot(show=False, filepath="/tmp/truncgennorm.png", title=True)
TruncGenNorm fuzzy number

TruncGenNorm fuzzy number

Superellipse

1
2
3
import phuzzy.mpl as phm
se = phm.Superellipse(alpha0=[-1, 2.], alpha1=None, m=1.0, n=.5, number_of_alpha_levels=17)
se.plot(show=True, filepath="/tmp/superellipse.png", title=True)
Superellipse fuzzy number

Superellipse fuzzy number

basic operations

Addition

z = x + y

1
2
3
4
x = phuzzy.Trapezoid(alpha0=[0, 4], alpha1=[2, 3], number_of_alpha_levels=5)
y = phuzzy.TruncNorm(alpha0=[1, 3], number_of_alpha_levels=15, name="y")
z = x + y
z.name = "x+y"
add

Addition of fuzzy numbers

Substraction

z = x - y

1
2
3
4
x = phuzzy.Trapezoid(alpha0=[0, 4], alpha1=[2, 3], number_of_alpha_levels=5)
y = phuzzy.TruncNorm(alpha0=[1, 3], number_of_alpha_levels=15, name="y")
z = x - y
z.name = "x-y"
add

Substraction of fuzzy numbers

Multiplication

z = x  y

1
2
3
4
x = phuzzy.Trapezoid(alpha0=[0, 4], alpha1=[2, 3], number_of_alpha_levels=5)
y = phuzzy.TruncNorm(alpha0=[1, 3], number_of_alpha_levels=15, name="y")
z = x * y
z.name = "x*y"
add

Multiplication of fuzzy numbers

Division

z = \frac{x}{y}

1
2
3
4
x = phuzzy.Trapezoid(alpha0=[0, 4], alpha1=[2, 3], number_of_alpha_levels=5)
y = phuzzy.TruncNorm(alpha0=[1, 3], number_of_alpha_levels=15, name="y")
z = x / y
z.name = "x/y"
add

Division of fuzzy numbers

Power

z = x^y

1
2
3
4
x = phuzzy.Trapezoid(alpha0=[0, 4], alpha1=[2, 3], number_of_alpha_levels=5)
y = phuzzy.TruncNorm(alpha0=[1, 3], number_of_alpha_levels=15, name="y")
z = x ** y
z.name = "x^y"
add

Power operation with fuzzy numbers