データ構造 | |
struct | F_FUZZY_BASE |
メンバシップ関数生成用基準値 [詳細] | |
struct | F_FUZZY_SPEC |
実数系台集合仕様 [詳細] | |
関数 | |
FHANDLE FVALGAPI | fnFIE_fuzzy_open (INT rule_num, const F_FUZZY_SPEC *antec_cond, INT antec_num, const F_FUZZY_SPEC *concl_cond, INT concl_num) |
ファジィ推論テーブルの生成 | |
INT FVALGAPI | fnFIE_fuzzy_clear_rule (FHANDLE htbl, INT rule_no) |
プロダクションルールのクリア(メンバシップ関数のクリア) | |
INT FVALGAPI | fnFIE_fuzzy_generate_rule (FHANDLE htbl, INT rule_no, const F_FUZZY_BASE *antec_memb, const F_FUZZY_BASE *concl_memb) |
ファジィルールの作成(メンバシップ関数の生成) | |
INT FVALGAPI | fnFIE_fuzzy_inference (FHANDLE htbl, const F_FUZZY_BASE *inp, DOUBLE *out) |
ファジィの実行(ルールと観測情報を使っての推論) |
FHANDLE FVALGAPI fnFIE_fuzzy_open | ( | INT | rule_num, | |
const F_FUZZY_SPEC * | antec_cond, | |||
INT | antec_num, | |||
const F_FUZZY_SPEC * | concl_cond, | |||
INT | concl_num | |||
) |
ファジィ推論テーブルの生成
与えられた条件のもとで、新規にファジィ推論テーブルを生成します。 ファジィ推論テーブルとは、ファジィルールの集合体のことです。
antec_cond 及び concl_cond で指定される条件は、構造体 F_FUZZY_SPEC にて設定します。 F_FUZZY_SPEC 構造体の各要素が示す意味は、下図に示すとおりです。
本関数でオープンしたオブジェクトは不要になったら fnFIE_free_object() にて解放してください。
[in] | rule_num | ファジィルール数( [1,MAX_RULE_N=30] ) |
[in] | antec_cond | 前提条件の台集合生成条件配列 antec_num で指定した前提個数分の条件を指定します |
[in] | antec_num | 1ファジィルールあたりの前提条件の数( [1,MAX_ANTEC_N=5] ) |
[in] | concl_cond | 結論の台集合生成条件配列 concl_num で指定した結論個数分の条件を指定します |
[in] | concl_num | 1ファジィルールあたりの結論の数( [1,MAX_CONCL_N=2] ) |
INT FVALGAPI fnFIE_fuzzy_clear_rule | ( | FHANDLE | htbl, | |
INT | rule_no | |||
) |
プロダクションルールのクリア(メンバシップ関数のクリア)
指定されたファジィルール内の前提条件および結論にかかる、すべてのメンバシップ関数をクリアします。 ここでは、値がクリアされるのであって、領域はそのままです。 本関数は、すでに設定済のファジィルールをクリアするために使用します。
[in] | htbl | ファジィ推論テーブルのハンドル |
[in] | rule_no | ファジィルール番号( [0,オープン時に指定したルール数-1] ) |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | 不正なオブジェクトが渡された | |
F_ERR_INVALID_PARAM | 不正なパラメータが渡された | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_fuzzy_generate_rule | ( | FHANDLE | htbl, | |
INT | rule_no, | |||
const F_FUZZY_BASE * | antec_memb, | |||
const F_FUZZY_BASE * | concl_memb | |||
) |
ファジィルールの作成(メンバシップ関数の生成)
ファジィルール(ファジィプロダクションルール)を生成します。 antec_memb 及び、 concl_memb には F_FUZZY_BASE 構造体にて台集合を指定します。 F_FUZZY_BASE 構造体の各要素の意味は下図の通りです。
[in,out] | htbl | ファジィ推論テーブルのハンドル |
[in] | rule_no | 生成したいファジィルールの番号( [0,オープン時に指定したルール数-1] ) |
[in] | antec_memb | 前提条件のメンバシップ関数生成用基準値配列 fnFIE_fuzzy_open() 実行時に指定した前提条件数( antec_num )分の設定値が必要です。 |
[in] | concl_memb | 結論のメンバシップ関数生成用パラメータの配列 fnFIE_fuzzy_open() 実行時に指定した結論数( concl_num )分の設定値が必要です。 |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | 不正なオブジェクトが渡された | |
F_ERR_INVALID_PARAM | 不正なパラメータが渡された | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
INT FVALGAPI fnFIE_fuzzy_inference | ( | FHANDLE | htbl, | |
const F_FUZZY_BASE * | inp, | |||
DOUBLE * | out | |||
) |
ファジィの実行(ルールと観測情報を使っての推論)
設定されているファジィルールと観測情報を使って、推論を実行します。
[in] | htbl | ファジィ推論テーブルのハンドル |
[in] | inp | 観測情報のメンバシップ関数の生成用基準値配列 fnFIE_fuzzy_open() 実行時に指定した基準値の数分の設定(配列要素数)が必要です |
[out] | out | ファジィ推論結果配列 fnFIE_fuzzy_open() 実行時に指定した結論数( concl_num )分の配列要素が必要です |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_OBJECT | 不正なオブジェクトが渡された | |
F_ERR_INVALID_PARAM | 不正なパラメータが渡された | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |