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

📄 bangyongdoc.h

📁 K均值和ISODATA分类两种算法
💻 H
字号:
// BangYongDoc.h : interface of the CBangYongDoc class
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_BANGYONGDOC_H__3D5B9881_779B_4594_951D_E4DF8D650698__INCLUDED_)
#define AFX_BANGYONGDOC_H__3D5B9881_779B_4594_951D_E4DF8D650698__INCLUDED_

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

//宏定义
#define  POINTMAX 100   //最大样本数
#define  KINDMAX  20    //最大类别数
//

class CBangYongDoc : public CDocument
{
protected: // create from serialization only
	CBangYongDoc();
	DECLARE_DYNCREATE(CBangYongDoc)

// Attributes
public:

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CBangYongDoc)
	public:
	virtual BOOL OnNewDocument();
	virtual void Serialize(CArchive& ar);
	//}}AFX_VIRTUAL

// Implementation
public:
	void ISOD_ChuShiHua();

	int m_flag;    //用于控制屏幕显示的标志
	int m_I;       //迭代次数
	int m_L;       //每次迭代可以归并类别的最多对数
	int m_N;       //一个类别至少应具有的样本数目
	int m_K;       //要求的聚类中心数
	double m_C;    //聚类中心之间距离阈值
	double m_S;    //一个类别样本的标准差阈值
	int m_iterativetime;         //实际迭代次数
	CPoint m_point[POINTMAX];    //用于存放所有样本
	int m_pointnum;              //样本数目
	int m_kind[KINDMAX][POINTMAX];    //存放每一类别包含的样本编号
	int m_kindnum;                    //实际类别数
	int m_inkindnum[POINTMAX];        //每一类实际包含的样本数目
	double m_kindcentre[KINDMAX][2];  //存放类别中心

	void ISOD_HeBing();		//ISODATA分类时合并类
	void ISOD_FenLie();		//ISODATA分类时分裂类
	void ISOD_FenLei();		//ISODATA分类
	void K_FenLei();		//K均值分类
	int JiSuan(CPoint p);	//计算p点所属类别号
	void ReadFile();		//读取样板信息
	
	virtual ~CBangYongDoc();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:

// Generated message map functions
protected:
	//{{AFX_MSG(CBangYongDoc)
		// 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()
};

/////////////////////////////////////////////////////////////////////////////

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

#endif // !defined(AFX_BANGYONGDOC_H__3D5B9881_779B_4594_951D_E4DF8D650698__INCLUDED_)

⌨️ 快捷键说明

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