home › Forums › # Technical Support › System.Runtime.InteropServices.SEHException
- This topic has 1 reply, 2 voices, and was last updated 8 years, 5 months ago by
Juan Rada-Vilela (admin).
-
AuthorPosts
-
April 15, 2015 at 12:52 #1760
Unknown
MemberHi Juan,
I wrote my fuzzylite code using visual c++ . I defined five inputs one output. I’m getting the above error at runtime. Error fired when rules are added. My rules are as shown below. The error fires once it start it to addRule. Can you please help me to solve this.
Iroshani.
RuleBlock* ruleblock = new RuleBlock;
ruleblock->setEnabled(true);
ruleblock->setName(“”);
ruleblock->setConjunction(fl::null);
ruleblock->setDisjunction(fl::null);
ruleblock->setActivation(fl::null);ruleblock->addRule(fl::Rule::parse(“if IrrMin is HIGH AND IrrMax is HIGH and IrrMean is HIGH and IrrStd is LOW and IrrGradient is MEDIUM then FutureIrr is HIGH”, engine));
ruleblock->addRule(fl::Rule::parse(“if IrrMin is MEDIUM and IrrMax is HIGH and IrrMean is HIGH and IrrStd is LOW and IrrGradient is MEDIUM then FutureIrr is HIGH”, engine));
ruleblock->addRule(fl::Rule::parse(“if IrrMin is MEDIUM and IrrMax is HIGH and IrrMean is MEDIUM and IrrStd is LOW and IrrGradient is MEDIUM then FutureIrr is HIGH”, engine));
ruleblock->addRule(fl::Rule::parse(“if IrrMin is MEDIUM and IrrMax is HIGH and IrrMean is MEDIUM and IrrStd is MEDIUM and IrrGradient is HIGH then FutureIrr is HIGH”, engine));
ruleblock->addRule(fl::Rule::parse(“if IrrMin is MEDIUM and IrrMax is HIGH and IrrMean is MEDIUM and IrrStd is LOW and IrrGradient is HIGH then FutureIrr is HIGH”, engine));
ruleblock->addRule(fl::Rule::parse(“if IrrMin is MEDIUM and IrrMax is HIGH and IrrMean is HIGH and IrrStd is LOW and IrrGradient is HIGH then FutureIrr is HIGH”, engine));
ruleblock->addRule(fl::Rule::parse(“if IrrMin is MEDIUM and IrrMax is HIGH and IrrMean is MEDIUM and IrrStd is MEDIUM and IrrGradient is MEDIUM then FutureIrr is HIGH”, engine));
ruleblock->addRule(fl::Rule::parse(“if IrrMin is MEDIUM and IrrMax is HIGH and IrrMean is HIGH and IrrStd is MEDIUM and IrrGradient is HIGH then FutureIrr is HIGH”, engine));
ruleblock->addRule(fl::Rule::parse(“if IrrMin is MEDIUM and IrrMax is HIGH and IrrMean is HIGH and IrrStd is MEDIUM and IrrGradient is MEDIUM then FutureIrr is HIGH”, engine));April 15, 2015 at 14:31 #1762Juan Rada-Vilela (admin)
KeymasterHi,
you should use QtFuzzyLite to design your controller.
The error you have is that you need to select a Conjunction operator because the propositions in your rules are linked with “and”. If you had rules with “or”, you would also need a Disjunction operator. Please, use QtFuzzyLite to solve these issues.
-
AuthorPosts
- You must be logged in to reply to this topic.