CNormalMembershipFunction

B 및 Sigma 매개변수를 사용하여 대칭 가우스 멤버십 함수를 구현하기 위한 클래스.

설명

대칭 가우스 멤버십 함수는 가우스 분포를 사용하여 형성됩니다. 대칭 가우스 멤버십 함수는 가우스 분포를 사용하여 형성됩니다.  

fuzzy_norm_function

샘플 코드(샘플 코드를 플롯팅하기 위한)가 아래에 표시됩니다.

선언

   class CNormalMembershipFuncion : public IMembershipFunction

제목

   #include <Math\Fuzzy\membershipfunction.mqh>

상속 계층

  CObject

      IMembershipFunction

          CNormalMembershipFunction

클래스 메서드

클래스 메서드  

설명

B

멤버십 함수 센터를 가져오고 설정하기.

Sigma

멤버십 함수 곡률의 매개변수를 가져오고 설정하기.

GetValue

지정한 인수를 기준으로 멤버 자격 함수의 값을 계산합니다.

클래스 CObject에서 상속된 메서드

Prev, Prev, Next, Next, Save, Load, Type, Compare

//+------------------------------------------------------------------+
//|                                     NormalMembershipFunction.mq5 |
//|                         Copyright 2000-2024, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#include <Math\Fuzzy\membershipfunction.mqh>
#include <Graphics\Graphic.mqh>
//--- 멤버십 함수 생성
CNormalMembershipFunction func1(5,0.5);
CNormalMembershipFunction func2(5,1);
CNormalMembershipFunction func3(5,3);
//--- 멤버십 함수에 대한 래퍼 생성
double NormalMembershipFunction1(double x) { return(func1.GetValue(x)); }
double NormalMembershipFunction2(double x) { return(func2.GetValue(x)); }
double NormalMembershipFunction3(double x) { return(func3.GetValue(x)); }
//+------------------------------------------------------------------+
//| 스크립트 프로그램 시작 기능                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- 그래픽 생성
  CGraphic 그래픽;
   if(!graphic.Create(0,"NormalMembershipFunction",0,30,30,780,380))
     {
      graphic.Attach(0,"NormalMembershipFunction");
     }
   graphic.HistoryNameWidth(70);
   graphic.BackgroundMain("NormalMembershipFunction");
   graphic.BackgroundMainSize(16);
//--- 곡선 생성
   graphic.CurveAdd(NormalMembershipFunction1,0.0,10.0,0.1,CURVE_LINES,"[5, 0.0]");
   graphic.CurveAdd(NormalMembershipFunction2,0.0,10.0,0.1,CURVE_LINES,"[5, 1]");
   graphic.CurveAdd(NormalMembershipFunction3,0.0,10.0,0.1,CURVE_LINES,"[5, 3]");
//--- X 축 속성 설정
   graphic.XAxis().AutoScale(false);
   graphic.XAxis().Min(0.0);
   graphic.XAxis().Max(10.0);
   graphic.XAxis().DefaultStep(1.0);
//--- Y 축 속성 설정
   graphic.YAxis().AutoScale(false);
   graphic.YAxis().Min(0.0);
   graphic.YAxis().Max(1.1);
   graphic.YAxis().DefaultStep(0.2);
//--- 플롯
   graphic.CurvePlotAll();
   graphic.Update();
  }