h" include <math


перейти к полному списку дипломных проектов

Ссылка на скачивания файла в формате .doc находится в конце странички

h" include

-80 c

3. Грегори К. Использование Visual C++ 6. Специальное издание.: Пер. с англ. – М.: СПб.; К.: Издательский дом «Вильямс», 2003. – 849 с.

4. Заде Л. Понятие лингвистической переменной и его применение к принятию приближенных решений. – М.: Мир, 1976.

5. Нечеткая логика  математические основы  BaseGroup Labs

http://www.basegroup.ru/fuzzylogic/math_print.htm

6. Страуструп Бьярн Язык программирования C++ Второе издание. – К.: ДиаСофт, 1993. – 480 с.

ПРИЛОЖЕНИЕ

Приложение А

Листинг программы

// Fuzzy_.h: interface for the CFuzzy_ class.

class CFuzzy_

{

public:

void fisError(char *msg);

CFuzzy_();

virtual ~CFuzzy_();

double CFuzzy_::fisTriangleMf(double x, double *params);

double fisTrapezoidMf(double x, double *params);

double fisGaussianMf(double x, double *params);

double fisGaussian2Mf(double x, double *params);

double fisSigmoidMf(double x, double *params);

};

// Fuzzy_.cpp: implementation of the CFuzzy_ class.

include "stdafx.h"

include "fuzzy.h"

include "Fuzzy_.h"

include

ifndef ABS

define ABS(x) ( (x) > (0) ? (x): (-(x)) )

endif

ifndef MAX

define MAX(x,y) ( (x) > (y) ? (x) : (y) )

endif

ifndef MIN

define MIN(x,y) ( (x) < (y) ? (x) : (y) )

endif

CFuzzy_::CFuzzy_()

{

}

CFuzzy_::~CFuzzy_()

{

}

/* Triangular membership function */

double CFuzzy_::fisTriangleMf(double x, double *params)

{

double a = params[0], b = params[1], c = params[2];

if (a>b)

{fisError("Illegal parameters in fisTriangleMf() --> a > b");return -1;}

if (b>c)

{fisError("Illegal parameters in fisTriangleMf() --> b > c");return -1;}

if (a == b b == c)

return(x == a);

if (a == b)

return((c-x)/(c-b)*(b<=x)*(x<=c));

if (b == c)

return((x-a)/(b-a)*(a<=x)*(x<=b));

return(MAX(MIN((x-a)/(b-a), (c-x)/(c-b)), 0));

}

/* Trapezpoidal membership function */

double CFuzzy_::fisTrapezoidMf(double x, double *params)

{

double a = params[0], b = params[1], c = params[2], d = params[3];

double y1 = 0, y2 = 0;

if (a>b) {

fisError("Illegal parameters in fisTrapezoidMf() --> a > b");

}

if (b>c)

{

fisError("Illegal parameters in fisTrapezoidMf() --> b > c");

}

if (c>d) {

fisError("Illegal parameters in fisTrapezoidMf() --> c > d");

}

if (b <= x)

y1 = 1;

else if (x < a)

y1 = 0;

else if (a != b)

y1 = (x-a)/(b-a);

if (x <= c)

y2 = 1;

else if (d < x)

y2 = 0;

else if (c != d)

y2 = (d-x)/(d-c);

return(MIN(y1, y2));

}

/* Gaussian membership function */

double CFuzzy_::fisGaussianMf(double x, double *params)

{

double sigma = params[0], c = params[1];

double tmp;

if (sigma==0)

fisError("Illegal parameters in fisGaussianMF() --> sigma = 0");

tmp = (x-c)/sigma;

return(exp(-tmp*tmp/2));

}

/* Extended Gaussian membership function */

double CFuzzy_::fisGaussian2Mf(double x, double *params)

{

double sigma1 = params[0], c1 = params[1];

double sigma2 = params[2], c2 = params[3];

double tmp1, tmp2;

if ((sigma1 == 0) || (sigma2 == 0))

fisError("Illegal parameters in fisGaussian2MF() --> sigma1 or sigma2 is zero");

tmp1 = x >= c1? 1:exp(-pow((x-c1)/sigma1, 2.0)/2);

tmp2 = x <= c2? 1:exp(-pow((x-c2)/sigma2, 2.0)/2);

return(tmp1*tmp2);

}

/* Sigmoidal membership function */

double CFuzzy_::fisSigmoidMf(double x, double *params)

{

double a = params[0], c = params[1];

return(1/(1+exp(-a*(x-c))));

}

void CFuzzy_::fisError(char *msg)

{

MessageBox(NULL,msg,"Error",MB_OK|MB_ICONSTOP);

}

// fuzzy.h : main header file for the FUZZY application CFuzzyApp

include "resource.h"

class CFuzzyApp : public CWinApp

{

public:

CFuzzyApp();

// Overrides

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CFuzzyApp)

public:

virtual BOOL InitInstance();

//}}AFX_VIRTUAL

// Implementation

//{{AFX_MSG(CFuzzyApp)

// NOTE - the ClassWizard will add and remove member functions here.

// DO NOT EDIT what you see in these blocks of generated code !

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

// fuzzy.cpp : Defines the class behaviors for the application. CFuzzyApp

include "stdafx.h"

include "fuzzy.h"

include "fuzzyDlg.h"

BEGIN_MESSAGE_MAP(CFuzzyApp, CWinApp)

//{{AFX_MSG_MAP(CFuzzyApp)

// NOTE - the ClassWizard will add and remove mapping macros here.

// DO NOT EDIT what you see in these blocks of generated code!

//}}AFX_MSG

ON_COMMAND(ID_HELP, CWinApp::OnHelp)

END_MESSAGE_MAP()

CFuzzyApp::CFuzzyApp()

{

}

CFuzzyApp theApp;

// CFuzzyApp initialization

BOOL CFuzzyApp::InitInstance()

{

AfxEnableControlContainer();

ifdef _AFXDLL

Enable3dControls();

else

Enable3dControlsStatic();

endif

CFuzzyDlg dlg;

m_pMainWnd = dlg;

dlg.

скачать бесплатно Библиотека MFC

Содержание дипломной работы

Идея, лежащая в основе теории нечетких множеств, заключается в том, что человек в своей повседневной жизни мыслит и принимает решения на основе нечетких понятий
Тогда нечетким множеством С называется множество упорядоченных пар вида C={MFc(x)/x}, MFc(x) [0,1]
Последнее, что осталось сделать – построить функции принадлежности для каждого лингвистического терма из базового терм-множества T
Нечеткая нейронная сеть как правило состоит из четырех слоев: слоя фазификации входных переменных, слоя агрегирования значений активации условия, слоя агрегирования нечетких правил и выходного слоя
В отличие от простых когнитивных карт, нечеткие когнитивные карты представляют собой нечеткий ориентированный граф, узлы которого являются нечеткими множествами
Когда MS Windows обнаруживает ресурс окна в программе, она использует команды из этого ресурса для конструирования работающего окна
При перемещении мыши выводится значение точки x (с учетом масштаба) и степень принадлежности (значение данной функции принадлежности) этой точки x
гос
h" include
, нами было разработано и проведено 6 занятий по 3D моделированию, позволяющих изучить основы 3D моделирования
, нами было разработано и проведено 6 занятий по 3D моделированию, позволяющих изучить основы 3D моделирования
, нами было разработано и проведено 6 занятий по 3D моделированию, позволяющих изучить основы 3D моделирования

заработать

Закачай файл и получай деньги