Error with evalfis function

4 ビュー (過去 30 日間)
alex tzal
alex tzal 2018 年 2 月 4 日
コメント済み: Walter Roberson 2018 年 2 月 19 日
When I run evalfis, I get the following error "Error using evalfismex Illegal parameters in fisTrapezoidMf() --> b > c". Can you please help?
  3 件のコメント
alex tzal
alex tzal 2018 年 2 月 19 日
Unfortunately,not:-(
Walter Roberson
Walter Roberson 2018 年 2 月 19 日
alex: did you try putting in the linear constraint like I indicated?

サインインしてコメントする。

回答 (1 件)

Walter Roberson
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 件のコメント
alex tzal
alex tzal 2018 年 2 月 10 日
編集済み: alex tzal 2018 年 2 月 10 日
I am using PSO in my ANFIS as per:
The problem is identified when the Problem.VarMin, Problem.VarMax, Params.MaxIt and Params.nPop parameters change in the TrainFISCost function. Could you please help me understand how are these related to trapmf parameters?
Walter Roberson
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 ExchangeFuzzy Inference System Tuning についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by