Error with evalfis function
15 次查看(过去 30 天)
显示 更早的评论
When I run evalfis, I get the following error "Error using evalfismex Illegal parameters in fisTrapezoidMf() --> b > c". Can you please help?
3 个评论
回答(1 个)
Walter Roberson
2018-2-5
It sounds as if you are calling fisTrapezoidMf with three parameters in which the second parameter is greater than the third parameter, but that routine needs the third parameter to be greater than the second parameter.
8 个评论
Walter Roberson
2018-2-16
None of those values matter in themselves for this purpose. What matters is that you need a linear constraint to prevent the third parameter from being less than the second parameter. In terms of A, b linear inequalities, that would look like
A = [1 -1 0 0;
0 1 -1 0;
0 0 1 -1]
b = [0; 0; 0]
The above permits the values to be exactly equal. Getting a strict inequality is tricky because of round-off error, but you could often approximate by setting b to -eps in each location instead of 0
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Fuzzy Inference System Tuning 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!