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

📄 parzenwnd.h

📁 Parzen 窗 和 K近邻法进行概率密度估计 还带一个示波器控件.
💻 H
字号:
// ParzenWnd.h: interface for the CParzenWnd class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_PARZENWND_H__2E8C4EDB_4661_4453_BAED_A0E1495294AA__INCLUDED_)
#define AFX_PARZENWND_H__2E8C4EDB_4661_4453_BAED_A0E1495294AA__INCLUDED_

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

///////////////////////////////////////////
//// 
//  针对 N 维矢量的Parzen 窗法
////
///////////////////////////////////////////
#include "Estimate.h"
#include <assert.h>



class CParzenWnd : public CEstimate 
{
public:
	CParzenWnd(int nDim);
	virtual ~CParzenWnd();

public:

	
	//获得X处的概率密度估计值
	//重载基类方法
	virtual double  Probility(vector<double> x);

	
protected:
	
	//具体的窗函数,子类可以重载之以使用新的窗函数
	virtual double WndFunc(vector<double> u);

	//(x1-x2/h)
	inline  vector<double> VecOperator(vector<double> x1, vector<double> x2, double h);

private:

};

inline vector<double> CParzenWnd::VecOperator(vector<double> x1, vector<double> x2, double h)
{
	assert(x1.size() == x2.size());

	vector<double>::iterator vi1,vi2;
	vector<double> ret_v;
	double temp;

	for (vi1 = x1.begin(), vi2 = x2.begin(); 
			(vi1 != x1.end()) && (vi2 != x2.end());
				vi1++,vi2++)
				{
					temp = *vi1 - *vi2;
					temp /= h;

					ret_v.push_back(temp);
				}
	
	return ret_v;				
}

#endif // !defined(AFX_PARZENWND_H__2E8C4EDB_4661_4453_BAED_A0E1495294AA__INCLUDED_)

⌨️ 快捷键说明

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