php 去高去低去平均值,php – 计算平均值而不被流浪者抛出

我试图计算一个平均值而不被一小组远离数字(即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+d-r

其中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

我想知道是否有更有效的方法来获得这样的平均值.

或者如果某人有更好的算法?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值