ファジィの実行(ルールと観測情報を使っての推論)
Namespace: fvalgcliAssembly: fvalgcli (in fvalgcli.dll) Version: 3.1.0.0 (3.1.0.11)
Syntax
C# |
---|
public static int fnFIE_fuzzy_inference(
FHANDLE htbl,
F_FUZZY_BASE_PTR _inp,
DOUBLE_PTR _out
) |
Visual Basic |
---|
Public Shared Function fnFIE_fuzzy_inference (
htbl As FHANDLE,
_inp As F_FUZZY_BASE_PTR,
_out As DOUBLE_PTR
) As Integer |
Return Value
Type:
Int32
以下のエラーコードを返します。
エラーコード:f_err | 内容 |
---|
F_ERR_NONE | 正常終了 |
F_ERR_INVALID_OBJECT | 不正なオブジェクトが渡された |
F_ERR_INVALID_PARAM | 不正なパラメータが渡された |
F_ERR_NO_LICENCE | ライセンスエラー |
Remarks
Examples
C# | Copy |
---|
using System;
using System.Collections.Generic;
using System.Text;
using fvalgcli;
namespace TC
{
public partial class FIE
{
public void fnFIE_fuzzy_inference(FHANDLE hFuzzy, int iAntecN, int iConclN)
{
int status = (int)fvalgcli.f_err.F_ERR_NONE;
F_FUZZY_BASE_PTR pObsMemb = F_FUZZY_BASE_PTR.Zero;
DOUBLE_PTR dOut = DOUBLE_PTR.Zero;
double dExpResult = -0.120000;
try
{
pObsMemb = F_FUZZY_BASE_PTR.alloc(iAntecN);
int iAntecNo = 0;
pObsMemb[iAntecNo] = F_FUZZY_BASE.init(-0.2, 0.4, 0.5, 0.7, 1.0);
iAntecNo++;
dOut = DOUBLE_PTR.alloc(iConclN);
status = api.fnFIE_fuzzy_inference(hFuzzy, pObsMemb, dOut);
Assert.IsTrue(
status == (int)f_err.F_ERR_NONE,
"エラーが発生しました。({0})", (f_err)status);
Assert.IsTrue(
System.Math.Abs(dOut[0] - dExpResult) < 0.0000001,
"エラーが発生しました。(dOut[0]={0})", dOut[0]);
}
finally
{
dOut.Dispose();
pObsMemb.Dispose();
}
}
}
} |
Visual Basic | Copy |
---|
Imports System.Collections.Generic
Imports System.Text
Imports fvalgcli
Public Partial Class FIE
Public Sub fnFIE_fuzzy_inference(hFuzzy As FHANDLE, iAntecN As Integer, iConclN As Integer)
Dim status As Integer = CInt(fvalgcli.f_err.F_ERR_NONE)
Dim pObsMemb As F_FUZZY_BASE_PTR = F_FUZZY_BASE_PTR.Zero
Dim dOut As DOUBLE_PTR = DOUBLE_PTR.Zero
Dim dExpResult As Double = -0.12
Try
pObsMemb = F_FUZZY_BASE_PTR.alloc(iAntecN)
Dim iAntecNo As Integer = 0
pObsMemb(iAntecNo) = F_FUZZY_BASE.init(-0.2, 0.4, 0.5, 0.7, 1.0)
iAntecNo += 1
dOut = DOUBLE_PTR.alloc(iConclN)
status = api.fnFIE_fuzzy_inference(hFuzzy, pObsMemb, dOut)
Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "エラーが発生しました。({0})", CType(status, f_err))
Assert.IsTrue(System.Math.Abs(dOut(0) - dExpResult) < 1E-07, "エラーが発生しました。(dOut[0]={0})", dOut(0))
Finally
dOut.Dispose()
pObsMemb.Dispose()
End Try
End Sub
End Class |
See Also