Для студентов по предмету ИнформатикаИсполняемое Win32 приложениеИсполняемое Win32 приложение
2016-07-292016-07-29СтудИзба
ВКР: Исполняемое Win32 приложение
Описание
Исполняемое Win32 приложение
Содержание
- SelectObject(brush); dc->SelectObject(SolidPen); dc->Rectangle(350,10,580,30); double _tmp; char crds[15]; CString coords; _tmp=(point.x-36)*1000/kX+_par; itoa((int)(_tmp),crds,10); coords=crds; itoa(ABS((int)(_tmp*100)%100),crds,10); (ABS((int)(_tmp*100)%100)CreateFont(14, 10, 0, 0, FW_NORMAL, 0, 0, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, "Courier"); dc->SelectObject(font); dc->TextOut(50,10,"Точка x:"+coords+" Степень принадлежности:"+crds); } CDialog::OnMouseMove(nFlags, point); } Результат выполнения программы изображен на рисунке 4.1. В данном случае построена сигмоидальная функция принадлежности. Рисунок 4.1 – Результат выполнения программы – сигмоидальная функция принадлежности ВЫВОДЫ Результатом работы является исполняемое Win32-приложение, позволяющее строить следующие функции принадлежности: - треугольную; - трапециидальную; - гауссовскую; - расширенную гауссовскую; - сигмоидальную. Так же программа позволяет определять значение степени принадлежности заданной точки x. В ходе разработки приложения были изучены структура и возможности набора классов MFC, принципы проектирования визуального интерфейса пользователя в операционной среде MS Windows с использованием среды разработки MS Visual Studio. Было замечено, что классы MFC существенно ускоряют процесс создания приложений для операционной системы Microsoft Windows. Так же были изучены основы теории нечетких множеств, в частности функции принадлежности. ПЕРЕЧЕНЬ ССЫЛОК 1. Microsoft Developer Network Library ‑ April 2003 2. Васильев В.И., Ильясов Б.Г. Интеллектуальные системы управления с использованием нечеткой логики: Учеб. пособие / Уфимск. гос. авиац. техн. ун-т. -Уфа, 1995. -80 c 3. Грегори К. Использование Visual C++ 6. Специальное издание.: Пер. с англ. – М.: СПб.; К.: Издательский дом «Вильямс», 2003. – 849 с. 4. Заде Л. Понятие лингвистической переменной и его применение к принятию приближенных решений. – М.: Мир, 1976. 5. Нечеткая логика ‑ математические основы ‑ BaseGroup Labs 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)*(bc) { fisError("Illegal parameters in fisTrapezoidMf() --> b > c"); } if (c>d) { fisError("Illegal parameters in fisTrapezoidMf() --> c > d"); } if (b = c1? 1:exp(-pow((x-c1)/sigma1, 2.0)/2); tmp2 = x
Характеристики ВКР
Предмет
Просмотров
105
Качество
Идеальное компьютерное
Размер
341,45 Kb





















