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

📄 fuzzydlg.h

📁 利用人工智能的模糊算法,实现了一个模糊控制的温控系统
💻 H
字号:
// fuzzyDlg.h : header file
//

#if !defined(AFX_FUZZYDLG_H__3876C42B_4C35_474C_8FF0_5E6757C6BEE6__INCLUDED_)
#define AFX_FUZZYDLG_H__3876C42B_4C35_474C_8FF0_5E6757C6BEE6__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

/////////////////////////////////////////////////////////////////////////////
// CFuzzyDlg dialog

class CFuzzyDlg : public CDialog
{
// Construction
public:
	double fenzi;
	double fenmu;

	void drawline(float t1,int x1, float t2,int x2);
	void HuiFu();
	void HuaZuoBiao(double T);

    CString strT;
	CString strtargetT;
    double T;
	double targetT;
	double preT;

	double ReSult[400];//真正的用于积分的400大小的数组,相当于一个间隔分成100份

    double PB[9];   //定义为离散的,输入的E @E只能是-4到4的整数
	double PS[9];
	double ZO[9];
	double NS[9];
	double NB[9];

	
	double PB_Result[9];
	double PS_Result[9];
	double ZO_Result[9];
	double NS_Result[9];
	double NB_Result[9];
	
    void mWmin(int Rule,double Temp);

	void reasoning();
	void comLiShuDu_Changerate_E();
	void LiShuDu(double LiShuDu[],int i);
	void comLiShuDu_E();



	double maxi(int i);
	double FenziIntegral(double *y,double begin,double end, int n);
    double FenmuIntegral(double *y,double begin,double end, int n);
	void PreIntegral(double result[]);
	void mWmax();
    
	//	void mWmax();

    
	CFuzzyDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
	//{{AFX_DATA(CFuzzyDlg)
	enum { IDD = IDD_FUZZY_DIALOG };
		// NOTE: the ClassWizard will add data members here
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CFuzzyDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	HICON m_hIcon;

	//自己定义的变量

    //E对 PB PS ZO NS NB的隶属度
     double  LiShuDu_E[5];
	 //@E对PB PS ZO NS NB的隶属度
	 double LiShuDu_Changerate_E[5];

	double E;
	double Changerate_E;

	int RuleTable[5][5];//推理规则表

	bool PB_TF,PS_TF,ZO_TF,NS_TF,NB_TF;

	double w;


	double result[9];

	double* RESULT;

	


	// Generated message map functions
	//{{AFX_MSG(CFuzzyDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnFuzzy();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_FUZZYDLG_H__3876C42B_4C35_474C_8FF0_5E6757C6BEE6__INCLUDED_)

⌨️ 快捷键说明

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