广义灰色关联度计算C语言程序(绝对、相对、综合)(3页).doc
-广义灰色关联度计算C语言程序(绝对、相对、综合)-第 3 页#include <stdio.h>#include <math.h>void main()int t=5;/本程序适用于每组数据为t=5个的情况,若有需要变动,改变t的赋值,把所有数组中括号里的5改为其他数即可/double a5= 2.15,2.14,2.25,2.29,2.27;/特征序列X0,可根据数据修改/double b5= 20169,23708,25608,30015,35198;/变量序列Xi,可根据数据修改/double c5,d5,e5,f5;double s0=0,s1=0,s2=0,s3=0,s4=0,s5=0,e0=0,e1=0.0,e2=0.0,m,n,p,u,v,w;int i=0; for(i=0;i<t;i+)ci=ai-a0;s0=s0+ci;for(i=0;i<t;i+)di=bi-b0;s1=s1+di;s0=(s0-0.5*c5-1);m=fabs(s0);s1=(s1-0.5*d5-1);n=fabs(s1);s2=(s1-s0);p=fabs(s2);e1=(1+m+n)/(1+m+n+p);printf("m=%lfnn=%lfnp=%lfne1=%lfn",m,n,p,e1);for(i=0;i<t;i+)ei=ai/a0-1.00; s3=s3+ei;for(i=0;i<t;i+)fi=bi/b0-1.00; s4=s4+fi;s3=(s3-0.5*e5-1);u=fabs(s3);s4=(s4-0.5*f5-1);v=fabs(s4);s5=(s4-s3);w=fabs(s5);e2=(1+u+v)/(1+u+v+w);e0=0.5*e1+0.5*e2;printf("u=%lfnv=%lfnw=%lfne2=%lfn",u,v,w,e2);printf("绝对关联度e1=%0.3lfn",e1);printf("相对关联度e2=%0.3lfn",e2);printf("综合关联度e0=%0.3lfn",e0);