模式识别c语言isodata算法

模式识别c语言isodata算法

ID:15135954

大小:41.50 KB

页数:13页

时间:2018-08-01

模式识别c语言isodata算法_第1页
模式识别c语言isodata算法_第2页
模式识别c语言isodata算法_第3页
模式识别c语言isodata算法_第4页
模式识别c语言isodata算法_第5页
资源描述:

《模式识别c语言isodata算法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、c语言编写的ISODATA程序#include#include#include#include#include#include#defineMAXNUM 100           //最大模式个数#defineMAXDIM  10            //最大模式维数#defineK 0.5                      //分裂时使用的比值#defineMAXDOUBLE  1.0e20    //最大双精度值#defineN   10              

2、 //实际模式个数#defineDIM 2                //实际模式维数structPattern           //模式结构体{ intn;               //模式序号 floats[MAXDIM];     //模式数据 };   structCluster                  //类结构体           {   structPatternz;           //类中心 intn;                      //类中包含的模式数目   floatavg_d;                //模式到类心的

3、平均距离 structPatterny[MAXNUM];   //模式   floatsigma[MAXDIM];        //分量的标准差 intmax;                    //用于记录类内距离标准差矢量最大的分量下标 floatsigma_max;            //类内分量距离标准差最大值};structPatternInitPattern(inti,floata,floatb)  //对样本模式进行初始化{ structPatterntemp;            temp.n=i;                     temp.s[0]=

4、a; temp.s[1]=b; returntemp;}//以下为各参数声明intc=3;                         //预期的类数intNc=1;                        //初始聚类中心个数intON=1;                        //每一类中允许的最少模式数(小于此数不可单独成类)floatOS=1;                      //类内分量分布的标准差上限(大于此数就分裂)float OC=4;                     //两类中心间的最小距离下限(小于此数两类合并)intL=1;  

5、                       //在每次迭代中可以合并的类的最大对数intI=8;                         //最多迭代次数structPatternx[N];           //全部模式structClusterw[N];              //全部类float D[MAXNUM][MAXNUM];      //各类对中心间的距离floatdis;                     //总体平均距离int iter=1;                   //记录迭代次数int i,j;                  

6、   //循环变量//以下为程序用到的调用函数voidInit();voidISODATA();voidInitCenter();voidClustering();floatDistance(structPatternx1,structPatternx2);structClusterInsert(structPatterna,structClusterb);                         intCheckAndUnion();voidCalParameter();structPatternCalCenter(structClustera);floatCal_D(inti

7、);voidCalSigma();intdivide();voidCalCenterDis();intUnionByOC();voidUnion(inta,intb);voidPrintCluster();voidmain(){   Init();   printf("******************ISODATA算法程序**************************");   printf("本实验使用样本集如下

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。