![]() | 1 raptium 2012-07-13 19:08:42 +08:00 下次再入同一是有必要清零的吧? 加平均值的,那每一的重是在哪呢? |
![]() | 2 thedevil7 OP @raptium 嗯, 读入是没有必要清零了. 只是还有另一组存放求平均值的数组需要清零. 每一项的权重由该组数据统计得到, 比如某一个数据出现多次, 统计出现的概率. 也就是说, 现在只有数据, 权重未知, 如果需要权重只有分析数据. 不一定非得是加权平均的算法, 任何近似的算法都可以. 补充: 使用的 C 不是 Win 不是 Linux 而是 MSP430 嵌入式 C 语言, 所以可能某些常用库以及常用的函数无法调用. 例如, memset. |
![]() | 3 zzzlhope 2012-07-13 19:14:29 +08:00 1.可以不用清零吧?直接利用这个数组读取下一次的数据,上一次的数据会被覆盖掉。 2.简单求平均值: float sum=0; float avg=0; for(int i,i<90,i++) { sum=sum+a[i]; //如果有权值,可存入数组b[90]中,与a[90]一一对应,sum=sum+a[i]*b[i] } avg=sum/90; |
![]() | 4 zzzlhope 2012-07-13 19:16:15 +08:00 我想把回复删了。。。 |
![]() | 5 chisj 2012-07-13 19:16:24 +08:00 memset函数。 |
![]() | 6 haohaolee 2012-07-13 19:19:33 +08:00 就用最符合直觉的方式做就OKay了吧 |
7 013231 2012-07-13 19:36:40 +08:00 bzero函. BZERO(3) BSD Library Functions Manual BZERO(3) NAME bzero -- write zeroes to a byte string LIBRARY Standard C Library (libc, -lc) SYNOPSIS #include <strings.h> void bzero(void *s, size_t n); DESCRIPTION The bzero() function writes n zeroed bytes to the string s. If n is zero, bzero() does nothing. SEE ALSO memset(3), swab(3) HISTORY A bzero() function appeared in 4.3BSD. Its prototype existed previously in <string.h> before it was moved to <strings.h> for IEEE Std 1003.1-2001 (``POSIX.1'') com- pliance. BSD June 4, 1993 BSD (END) |
![]() | 10 raptium 2012-07-13 20:37:30 +08:00 ![]() 加的重等於出的概率?那和普通的平均有什? |
![]() | 11 laskuma 2012-07-13 20:38:25 +08:00 ![]() @thedevil7 不是很理解这个数据的含义...有格式吗?如果是要通过分析这些数据得出其中的权重的话,我就直接理解成为读入90个人每个人的分数。直接加起来/90 就已经是加过权的了。 |
![]() | 15 sqbing 2012-07-13 23:56:38 +08:00 Memset or bzero |