赞
踩
classFrckBase
{public:
FrckBase():mdll_type(0),malgorithm_type(0),mdata_matrix_cols(0),
mdata_matrix_rows(0),mmbs_matrix_cols(0),mmbs_matrix_rows(0),
merror_no(0),mthreshold_value(0),mdll_info(""),
mmembership_matrix(NULL)
{
}virtual ~FrckBase()
{
}/**功能:根据原始矩阵计算出隶属度
*参数:
* data_matrix:原始数据矩阵
*返回值:计算成功返回隶属度向量,失败返回NULL*/
virtual std::vector<:vector>> *caculateMembership(std::vector<:vector>> *data_matrix)=0;/** 功能:得到最近发生错误的错误信息
* 返回值:最近有错误发生返回错误信息,反之返回NULL*/
virtual std::string errorInfo(void)const=0;/** 功能:。得到动态库的信息
* 返回值:返回动态库信息*/
virtual std::string getMdllInfo(void)const=0;/** 功能:获得该动态库的类型(模糊识别特征知识库、模糊综合评判知识库)
* 返回值:该动态库的类型*/
virtual int getMdllType(void)const=0;/** 功能:获得该动态库支持的模糊识别算法类型(最大隶属原则1 2、阀值原则、择近原则、多个特性的择近原则)
* 返回值:该动态库支持的模糊识别算法类型*/
virtual int getMalgorithmType(void)const=0;/**功能:得到特征知识库支持数据矩阵的行数
*返回值:特征知识库支持数据矩阵的行数*/
virtual int getMdataMatrixCols(void)const=0;/**功能:得到特征知识库支持数据矩阵的列数
*返回值:特征知识库支持数据矩阵的列数*/
virtual int getMdataMatrixRows(void)const=0;/**功能:得到特征知识库支持隶属矩阵的行数
*返回值:特征知识库支持隶属矩阵的行数*/
virtual int getMmbsMatrixCols(void)const=0;/**功能:得到特征知识库支持隶属矩阵的列数
*返回值:特征知识库支持隶属矩阵的列数*/
virtual int getMmbsMatrixRows(void)const=0;/** 功能:得到阀值(模糊识别算法为阀值原则时可用)
* 返回:如果模糊识别算法为阀值原则时返回阀值,其它情况返回-1,表示不可用*/
virtual int getMthresholdValue(void)=0;/**功能:根据模糊识别算法得到的下标得到结果
*参数:
* index:模糊识别算法得到的下标
*返回:index正确返回结果,反之返回空字符串*/
virtual std::string getResult(int index)const=0;//设置错误号的友元函数
friend void set_error_no(intno);protected://设置错误号
virtual void setMerrorNo(int no)=0;protected:int mdll_type; //表示是模糊识别特征知识库还是模糊综合评判知识库
int malgorithm_type; //支持那类模糊识别算法(最大隶属原则1 2、阀值原则、择近原则、多个特性的择近原则)
int mdata_matrix_cols; //该特征知识库支持数据矩阵的行数
int mdata_matrix_rows; //该特征知识库支持数据矩阵的列数
int mmbs_matrix_cols; //该特征知识库支持隶属矩阵的行数
int mmbs_matrix_rows; //该特征知识库支持隶属矩阵的列数
int merror_no; //错误号
int mthreshold_value; //阀值(阀值原则时可用)
std::string mdll_info; //动态库信息
std::vector<:vector>> *mmembership_matrix;//原始数据相对于标准数据的隶属度构成的隶属矩阵
};void set_error_no(intno);//===================================================================/** 功能:获得模糊特征知识动态库的对象
* 返回值:成功返回模糊特征知识动态库的对象(指针)*/
extern "C" FrckBase *dllfrck_getobj(void);/** 功能:模糊特征知识动态库初始化
* 返回值:初始化成功返回0,失败返回-1*/
extern "C" int dllfrck_init(void);/** 功能:模糊特征知识动态库的控制
* 参数:
* type input output 成功返回
* 1 NULL NULL 动态库的类型 得到动态库的类型(模式别知识库还是模糊综合评判知识库)
* 2 NULL NULL 模糊识别算法类型 得到支持的模糊识别算法类型(最大隶属原则、阀值原则、择近原则、多个特性的择近原则)
* 3 NULL NULL 数据矩阵的行数 得到该知识库支持数据矩阵的行数
* 4 NULL NULL 数据矩阵的列数 得到该知识库支持数据矩阵的列数
* 5 NULL NULL 阀值 得到阀值(阀值原则时可用)
* 6 int数组大小 char* 实际信息大小 得到动态库信息
* 7 NULL NULL 隶属矩阵的行数 得到该知识库支持隶属矩阵的行数
* 8 NULl NULL 隶属矩阵的列数 得到该知识库支持隶属矩阵的列数
*返回值:成功返回依type参数而定,失败返回-1*/
extern "C" int dllfrck_control(int type,void *input,void *output);/** 功能:计算成绩分数相对于优、良、差的隶属度
* 参数:
* data_matrix:待识别的成绩矩阵(1x1)
* cols:data_matrix矩阵的行数
* rows:data_matrix矩阵的列数
* 返回值:计算成功返回待识别分数相对于优、良、差的隶属度(一个向量--1x3的矩阵)*/
extern "C" float **dllfrck_membership(float **data_matrix,int cols,introws);/**功能:根据模糊识别算法得到的下标得到结果
*参数:
* index:模糊识别算法得到的下标
*返回:index正确返回结果,反之返回空字符串*/
extern "C" const char *dllck_result(intindex);/** 功能:得到最近发生错误的详细信息
* 返回值:最近有错误发生则返回错误的详细信息,没有则返回NULL*/
extern "C" const char *dllfck_error(void);/** 功能:关闭动态库*/
extern "C" void dllfrck_close(void);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。