home Forums # Technical Support Help on Variables composed by others Input variables

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #1474
    Avataricesand
    Participant

    Hi 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)))

    #1475

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

Viewing 2 posts - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.