CConstantMembershipFunction

Classe d'implémentation d'une fonction d'appartenance sous forme d'une ligne droite parallèle à l'axe des coordonnées.

Description

La fonction est décrite avec l'équation :

y(x)=c

Le degré d'appartenance de la fonction est donc le même tout le long de l'axe numérique et est égal au paramètre spécifié dans le constructeur.

fuzzy_constant_function

Un extrait de code dessinant un graphique est affiché plus bas.

Déclaration

   class CConstantMembershipFuncion : public IMembershipFunction

Titre

   #include <Math\Fuzzy\membershipfunction.mqh>

Hiérarchie d'héritage

  CObject

      IMembershipFunction

          CConstantMembershipFunction

Méthodes de classe

Méthode de classe  

Description

GetValue

Calcule la valeur de la fonction d'appartenance d'un argument donné.

Méthodes héritées de la classe CObject

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

Exemple

//+------------------------------------------------------------------+
//|                                   ConstantMembershipFunction.mq5 |
//|                         Copyright 2000-2024, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#include <Math\Fuzzy\membershipfunction.mqh>
#include <Graphics\Graphic.mqh>
//--- Crée les fonctions membres
CConstantMembershipFunction func1(0.2);
CConstantMembershipFunction func2(0.5);
CConstantMembershipFunction func3(0.8);
//--- Crée les wrappers des fonctions membres
double ConstantMembershipFunction1(double x) { return(func1.GetValue(x)); }
double ConstantMembershipFunction2(double x) { return(func2.GetValue(x)); }
double ConstantMembershipFunction3(double x) { return(func3.GetValue(x)); }
//+------------------------------------------------------------------+
//| Fonction de lancement du script                                  |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- crée le graphique
   CGraphic graphic;
   if(!graphic.Create(0,"ConstantMembershipFunction",0,30,30,780,380))
     {
      graphic.Attach(0,"ConstantMembershipFunction");
     }
   graphic.HistoryNameWidth(70);
   graphic.BackgroundMain("ConstantMembershipFunction");
   graphic.BackgroundMainSize(16);
//--- crée une courbe
   graphic.CurveAdd(ConstantMembershipFunction1,0.0,10.0,1.0,CURVE_LINES,"[0.2]");
   graphic.CurveAdd(ConstantMembershipFunction2,0.0,10.0,1.0,CURVE_LINES,"[0.5]");
   graphic.CurveAdd(ConstantMembershipFunction3,0.0,10.0,1.0,CURVE_LINES,"[0.8]");
//--- définit les propriétés de l'axe X
   graphic.XAxis().AutoScale(false);
   graphic.XAxis().Min(0.0);
   graphic.XAxis().Max(10.0);
   graphic.XAxis().DefaultStep(1.0);
//--- définit les propriétés de l'axe Y
   graphic.YAxis().AutoScale(false);
   graphic.YAxis().Min(0.0);
   graphic.YAxis().Max(1.1);
   graphic.YAxis().DefaultStep(0.2);
//--- dessin
   graphic.CurvePlotAll();
   graphic.Update();
  }