JD *_*cks 5 php algorithm average
我试图计算一个平均值而不被一小组远离数字(即1,2,1,2,3,4,50)抛弃,单个50将甩掉整个平均值.
如果我有一个这样的数字列表:
19,20,21,21,22,30,60,60
平均为31
中位数是30
模式为21和60(平均为40.5)
但是任何人都可以看到大多数是在19-22(5英寸,3英尺)的范围内,如果你得到的只是主要范围的平均值是20.6(与上面任何一个数字相比差别很大)
我在想你可以这样:
C +博士
c数字的计数在哪里,d是不同的值,r是范围.然后你可以将它应用于所有可能的范围,最高分是获得平均值的最佳范围.
例如,19,20,21,21,22将是5个数字,4个不同的值,范围是3(22 - 19).如果你把它插入我的方程式,你得到5 + 4-3 = 6
如果将其应用于整个数字列表,则为8 + 6-41 = -27
我认为这很好用,但我必须创建一个巨大的循环来测试所有可能的范围.在我的小例子中,有21个可能的范围:
19-19,19-20,19-21,19-22,19-30,19-60,20-20,20-21,20-22,20-30,20-60,21-21,21- 22,21-30,21-60,22-22,22-30,22-60,30-30,30-60,60-60
我想知道是否有更有效的方法来获得这样的平均值.
或者如果某人有更好的算法?
| 归档时间: |
|
| 查看次数: |
1264 次 |
| 最近记录: |