[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. |