[Tcl-nap-users] Fuzzy logic membership
Brought to you by:
dav480,
peter_turner
|
From: salah j. <s_...@ya...> - 2006-03-13 09:37:41
|
I needed to do linear fuzzy logic membership so i wrote this function
proc i_linear {data low high} {
nap "m = 1f /(high-low)"
nap "b = -1f * low * m"
nap "data <= low ? 0.0 :
data >= high ? 1.0 :m*data + b"
}
proc d_linear {data low high} {
nap "m = 1f /(high-low)"
nap "b = -1f * low * m"
nap "data <= low ? 1.0 :
data >= high ? 0.0 :m*data + b"
}
proc linear {data a b c d} {
#slope and intercept for 1st equation
nap "m1 = 1f /(b-a)"
nap "b1 = -1f * a * m1"
#slope and intercept for 2st equation
nap "m1 = 1f /(c-d)"
nap "b1 = -1f * d * m2"
nap "data <= a && data >=d ? 0.0 :
data >= b && data <= c ? 1.0 :
data >= a && data <= b ? m1 * data + b1 : m2 * data + b2
}
I did not test very carfully so ...
---------------------------------
Yahoo! Mail
Bring photos to life! New PhotoMail makes sharing a breeze. |