home › Forums › # Technical Support › Help on Variables composed by others Input variables
Tagged: Combined input variable
- This topic has 1 reply, 2 voices, and was last updated 9 years, 1 month ago by
Juan Rada-Vilela (admin).
-
AuthorPosts
-
October 18, 2014 at 03:19 #1474
Unknown
MemberHi Juan,
I have purchased your qtfuzzylite after looking into excellent features of fuzzylite and your work is really wonderful.
When I try to construct my fuzzy engine, a combined variable like OARatio_MAT below should be calculated through a formula with other input varibales, but it does not has an easy way to define it, in addition, OARatio_MAT should be between 0 and 1 and there is no way to define this range with function term.Moreover, if I disable MATemp, then OARatio_MAT’s fuction term may still be calculated and then still efficitive in rules, does it right or just I miss something?
One more question, when I read in a .fll file, an variable with not setting its value should be acted like disabled ones in my opinion, but it may still be effective in a quite unexpected way.
Thank you and I am looking forward to you reply!
InputVariable: MATemp
enabled: false
range: -10.000 50.000
InputVariable: OATemp
enabled: true
range: -10.000 50.000
term: Small Trapezoid 15.000 15.000 16.000 22.000
term: Big Trapezoid 26.000 28.000 30.000 30.000
InputVariable: RATemp
enabled: true
range: -10.000 50.000
InputVariable: OARatio_MAT
enabled: true
range: 0.000 1.000
term: Big Function exp(~(((MATemp-RATemp)/(OATemp-RATemp)-1.000)^2)/(2*pow(0.3,2)))
term: Small Function exp(~(((MATemp-RATemp)/(OATemp-RATemp)-0.000)^2)/(2*pow(0.3,2)))October 20, 2014 at 08:58 #1475Juan Rada-Vilela (admin)
KeymasterHi acesand,
thank you very much for your purchase and your kind words. Apologies for the late reply, but I have a very busy schedule nowadays.
ARatio_MAT below should be calculated through a formula with other input varibales, but it does not has an easy way to define it,
Can you please elaborate more on this? I think you have defined your linguistic variable just fine to consider the input values from other variables. What exactly do you expect to be easier?
As for the range between 0 and 1, I understand there should be an option to lock the range in input variables too. I will provide such a feature eventually. At the moment, you can override the operation of the engine and add your logic to make sure the values of OARatio_MAT are within the boundaries.
As for disabling MATemp, I am not sure at this moment whether the right operation should be not to compute the variables dependant on MATemp. Other variables utilize whatever the input value is, and disabling a variable only means it will not influence the operation of the engine. However, the input value can still be set. More importantly, what value would you set to the variables dependant on MATemp when it is disabled? Would you set that to NaN? Zero? Infinity? In other words, given the function exp(~(((MATemp-RATemp)/(OATemp-RATemp)-1.000)^2)/(2*pow(0.3,2))), what value would you set MATemp to be when it is disabled?
One more question, when I read in a .fll file, an variable with not setting its value should be acted like disabled ones in my opinion, but it may still be effective in a quite unexpected way.
A variable is always enabled by default, even if it is an empty variable. I find that the less you assume what the behaviour should be, the better it is to provide a more flexible library. For example, if the variable is empty, should this be an enabled variable? Then, if the variable contains an incorrect Function, should it be a disabled variable? Too many conditions to consider. The less you assume, the simpler it is.
-
AuthorPosts
- You must be logged in to reply to this topic.