1、附录 4 EEG 近似熵计算67附录 4 EEG 近似熵计算void CAPenView:jisuanAPen(float *eeg, int n0)int i, j, n=800,*d;double sd=0, av=0, a=0, *C2,*C3;float *neweeg, r;double q2,q3,apen20;r=0.2;q2=0;q3=0;/标准化数组,产生新数组:neweeg。neweeg 的标准差为 1。for(i=0;in0;i+)av+=eegi;av=av/n0;for(i=0;in0;i+)sd+=(eegi-av)*(eegi-av);sd=sqrt(sd/(n0
2、-1);for(i=0;in0;i+)neweegi=(eegi-av)/sd;/将 c2 和 c3 数组中的元素均赋初值为 0for(i=0;in-2;i+)C2i=0;C3i=0;C2n-2=0;/计算矩阵 D,即求数组 d 中的数(0 或 1)for(i=0;in;i+)附录 4 EEG 近似熵计算68for(j=0;jn;j+)if(fabs(neweegi-neweegj)r)*(d+i*n+j)=1;else *(d+i*n+j)=0;/计算 c2 与 c3for(i=0;in-1;i+)for(j=0;jn-1;j+)C2i+=(*(d+i*n+j)*(*(d+(i+1)*n+j+1);if(in-2/计算 q2 与 q3for(i=0;in-1;i+) C2i=C2i/(n-1);q2+=log(C2i);for(i=0;in-2;i+)C3i=C3i/(n-2);q3+=log(C3i);a=q2/(n-1)-q3/(n-2); /a 即为计算得到的 ApEn 值