⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainfrm.cpp

📁 人工智能中模糊逻辑算法 FuzzyLib 2.0 is a comprehensive C++ Fuzzy Logic library for constructing fuzzy logic sy
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	AlphaCutType					= WEAK;
    AlphaCutLabel->Caption 			= " Weak";
	Update();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::CompositionZadehClick(TObject *Sender)
{
	CompositionZadeh->Checked		= true;
	CompositionMean->Checked		= false;
	CompositionMeanSquare->Checked	= false;
	CompositionMeanRoot->Checked	= false;
	CompositionProduct->Checked		= false;
	CompositionBoundedSum->Checked	= false;
	CompositionMethod				= ZADEH;
    CompositionLabel->Caption 		= "   Zadeh";
	Update();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::CompositionMeanClick(TObject *Sender)
{
	CompositionZadeh->Checked		= false;
	CompositionMean->Checked		= true;
	CompositionMeanSquare->Checked	= false;
	CompositionMeanRoot->Checked	= false;
	CompositionProduct->Checked		= false;
	CompositionBoundedSum->Checked	= false;
	CompositionMethod				= MEAN;
    CompositionLabel->Caption 		= "   Mean";
	Update();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::CompositionMeanSquareClick(TObject *Sender)
{
	CompositionZadeh->Checked		= false;
	CompositionMean->Checked		= false;
	CompositionMeanSquare->Checked	= true;
	CompositionMeanRoot->Checked	= false;
	CompositionProduct->Checked		= false;
	CompositionBoundedSum->Checked	= false;
	CompositionMethod				= MEANSQUARE;
    CompositionLabel->Caption 		= " Mean^2";
	Update();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::CompositionMeanRootClick(TObject *Sender)
{
	CompositionZadeh->Checked		= false;
	CompositionMean->Checked		= false;
	CompositionMeanSquare->Checked	= false;
	CompositionMeanRoot->Checked	= true;
	CompositionProduct->Checked		= false;
	CompositionBoundedSum->Checked	= false;
	CompositionMethod				= MEANROOT;
    CompositionLabel->Caption 		= " Mean^.5";
	Update();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::CompositionProductClick(TObject *Sender)
{
	CompositionZadeh->Checked		= false;
	CompositionMean->Checked		= false;
	CompositionMeanSquare->Checked	= false;
	CompositionMeanRoot->Checked	= false;
	CompositionProduct->Checked		= true;
	CompositionBoundedSum->Checked	= false;
	CompositionMethod				= PRODUCT;
    CompositionLabel->Caption 		= " Product";
	Update();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::CompositionBoundedSumClick(TObject *Sender)
{
	CompositionZadeh->Checked		= false;
	CompositionMean->Checked		= false;
	CompositionMeanSquare->Checked	= false;
	CompositionMeanRoot->Checked	= false;
	CompositionProduct->Checked		= false;
	CompositionBoundedSum->Checked	= true;
	CompositionMethod				= BOUNDEDSUM;
    CompositionLabel->Caption 		= "BoundSum";
	Update();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::DefuzzificationCentroidClick(TObject *Sender)
{
	DefuzzificationCentroid->Checked		= true;
	DefuzzificationMaximumHeight->Checked	= false;
	DefuzzificationNearEdge->Checked		= false;
	DefuzzificationFarEdge->Checked			= false;
    DefuzzificationMethod					= CENTROID;
    DefuzzificationLabel->Caption 			= "    Centroid";
	Update();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::DefuzzificationMaximumHeightClick(TObject *Sender)
{
	DefuzzificationCentroid->Checked		= false;
	DefuzzificationMaximumHeight->Checked	= true;
	DefuzzificationNearEdge->Checked		= false;
	DefuzzificationFarEdge->Checked			= false;
    DefuzzificationMethod					= MAXIMUM_HEIGHT;
    DefuzzificationLabel->Caption 			= "MaximumHeight";
	Update();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::DefuzzificationNearEdgeClick(TObject *Sender)
{
	DefuzzificationCentroid->Checked		= false;
	DefuzzificationMaximumHeight->Checked	= false;
	DefuzzificationNearEdge->Checked		= true;
	DefuzzificationFarEdge->Checked			= false;
    DefuzzificationMethod					= NEAR_EDGE;
    DefuzzificationLabel->Caption 			= "  NearEdge";
	Update();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::DefuzzificationFarEdgeClick(TObject *Sender)
{
	DefuzzificationCentroid->Checked		= false;
	DefuzzificationMaximumHeight->Checked	= false;
	DefuzzificationNearEdge->Checked		= false;
	DefuzzificationFarEdge->Checked			= true;
    DefuzzificationMethod					= FAR_EDGE;
    DefuzzificationLabel->Caption 			= "   FarEdge";
	Update();
}
//---------------------------------------------------------------------------




void __fastcall TMainForm::PaintBox2Paint(TObject *Sender)
{

	PaintBox2->Canvas->Pen->Color = clGreen;
	if (FC->C2->input_variables[0]->fuzzysets[0] != NULL)	FC->C2->input_variables[0]->fuzzysets[0]->Draw(PaintBox2->Canvas);
	if (FC->C2->input_variables[0]->fuzzysets[1] != NULL)	FC->C2->input_variables[0]->fuzzysets[1]->Draw(PaintBox2->Canvas);
	if (FC->C2->input_variables[0]->fuzzysets[2] != NULL)	FC->C2->input_variables[0]->fuzzysets[2]->Draw(PaintBox2->Canvas);

	PaintBox2->Canvas->Pen->Color = clAqua;
	if (FC->C2->input_variables[1]->fuzzysets[0] != NULL)	FC->C2->input_variables[1]->fuzzysets[0]->Draw(PaintBox2->Canvas);
	if (FC->C2->input_variables[1]->fuzzysets[1] != NULL)	FC->C2->input_variables[1]->fuzzysets[1]->Draw(PaintBox2->Canvas);
	if (FC->C2->input_variables[1]->fuzzysets[2] != NULL)	FC->C2->input_variables[1]->fuzzysets[2]->Draw(PaintBox2->Canvas);

	PaintBox2->Canvas->Pen->Color = clInfoBk;
	if (FC->C2->output_variable->fuzzysets[0] != NULL)	FC->C2->output_variable->fuzzysets[0]->Draw(PaintBox2->Canvas);
	if (FC->C2->output_variable->fuzzysets[1] != NULL)	FC->C2->output_variable->fuzzysets[1]->Draw(PaintBox2->Canvas);
	if (FC->C2->output_variable->fuzzysets[2] != NULL)	FC->C2->output_variable->fuzzysets[2]->Draw(PaintBox2->Canvas);
	if (FC->C2->output_variable->fuzzysets[3] != NULL)	FC->C2->output_variable->fuzzysets[3]->Draw(PaintBox2->Canvas);
	if (FC->C2->output_variable->fuzzysets[4] != NULL)	FC->C2->output_variable->fuzzysets[4]->Draw(PaintBox2->Canvas);


	if (FC->local_repulsionsets[0] != NULL)
	{
		PaintBox2->Canvas->Pen->Color = clBlue;
		FC->local_repulsionsets[0]->Draw(PaintBox2->Canvas);

		PaintBox2->Canvas->Pen->Color = clRed;
		double scalar = ((FC->local_repulsions[0] - FC->local_repulsionsets[0]->get_variable()->begin)/(FC->local_repulsionsets[0]->get_variable()->end - FC->local_repulsionsets[0]->get_variable()->begin))*DOMAIN_WIDTH;
		PaintBox2->Canvas->MoveTo(2 * scalar, 100 *  0.0);
		PaintBox2->Canvas->LineTo(2 * scalar, 100 *  1.0);
		PaintBox2->Canvas->Refresh();

        Output2CGauge->Progress = ((int)FC->local_repulsions[0]);
    }
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::Input21TrackBarChange(TObject *Sender)
{
	Input21ValueLabel->Caption = IntToStr(Input21TrackBar->Position);
	Update();
}
void __fastcall TMainForm::Input22TrackBarChange(TObject *Sender)
{
	Input22ValueLabel->Caption = IntToStr(Input22TrackBar->Position);
	Update();
}
//---------------------------------------------------------------------------



void __fastcall TMainForm::PaintBoxPaint(TObject *Sender)
{
	PaintBox->Canvas->Pen->Color = clGreen;
	if (FC->C3->input_variables[0]->fuzzysets[0] != NULL)	FC->C3->input_variables[0]->fuzzysets[0]->Draw(PaintBox->Canvas);
	if (FC->C3->input_variables[0]->fuzzysets[1] != NULL)	FC->C3->input_variables[0]->fuzzysets[1]->Draw(PaintBox->Canvas);
	if (FC->C3->input_variables[0]->fuzzysets[2] != NULL)	FC->C3->input_variables[0]->fuzzysets[2]->Draw(PaintBox->Canvas);

	PaintBox->Canvas->Pen->Color = clAqua;
	if (FC->C3->input_variables[1]->fuzzysets[0] != NULL)	FC->C3->input_variables[1]->fuzzysets[0]->Draw(PaintBox->Canvas);
	if (FC->C3->input_variables[1]->fuzzysets[1] != NULL)	FC->C3->input_variables[1]->fuzzysets[1]->Draw(PaintBox->Canvas);
	if (FC->C3->input_variables[1]->fuzzysets[2] != NULL)	FC->C3->input_variables[1]->fuzzysets[2]->Draw(PaintBox->Canvas);

	PaintBox->Canvas->Pen->Color = clInfoBk;
	if (FC->C3->output_variable->fuzzysets[0] != NULL)	FC->C3->output_variable->fuzzysets[0]->Draw(PaintBox->Canvas);
	if (FC->C3->output_variable->fuzzysets[1] != NULL)	FC->C3->output_variable->fuzzysets[1]->Draw(PaintBox->Canvas);
	if (FC->C3->output_variable->fuzzysets[2] != NULL)	FC->C3->output_variable->fuzzysets[2]->Draw(PaintBox->Canvas);
	if (FC->C3->output_variable->fuzzysets[3] != NULL)	FC->C3->output_variable->fuzzysets[3]->Draw(PaintBox->Canvas);
	if (FC->C3->output_variable->fuzzysets[4] != NULL)	FC->C3->output_variable->fuzzysets[4]->Draw(PaintBox->Canvas);


	if (FC->migrationsets[0] != NULL)
	{
		PaintBox->Canvas->Pen->Color = clBlue;
		FC->migrationsets[0]->Draw(PaintBox->Canvas);

		PaintBox->Canvas->Pen->Color = clRed;
		double scalar = ((FC->migrations[0] - FC->migrationsets[0]->get_variable()->begin)/(FC->migrationsets[0]->get_variable()->end - FC->migrationsets[0]->get_variable()->begin))*DOMAIN_WIDTH;
		PaintBox->Canvas->MoveTo(2 * scalar, 100 *  0.0);
		PaintBox->Canvas->LineTo(2 * scalar, 100 *  1.0);
		PaintBox->Canvas->Refresh();

        OutputCGauge->Progress = ((int)FC->migrations[0]);
    }
}
//---------------------------------------------------------------------------



void __fastcall TMainForm::PaintBox1DblClick(TObject *Sender)
{
	FC->C1->edit_rules();
	Update();
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::PaintBox2DblClick(TObject *Sender)
{
	FC->C2->edit_rules();
	Update();
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::PaintBoxDblClick(TObject *Sender)
{
	FC->C3->edit_rules();
	Update();
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -