计算两个前向指标之间的截断平均值

问题描述

我已经通过函数 truncated_mean(std::vector& v,double trimming fraction) 计算了向量的截断平均值。这个函数将向量 v 和我们想要移除的分数作为输入来计算均值(例如 10%,所以我们移除最高和最低的 10% 值,然后我们计算均值),我使用标准库创建了它。

例如,v = [0,1,2....,9],然后 truncated_mean(v,0.10) = 4.5。

现在,我想重用相同的函数,但不是将 v 作为输入,我想要 2 个前向迭代器,v.begin() 和 v.end()。我提供了 typename forward 的模板,我应该用它来检查它的 value_type(通过 std::iterator_traits 访问)是否满足特定标准。我对这个问题的理解是,首先我需要检查输入是否属于一个向量,然后我应该从那里访问向量本身来计算截断的平均值。

如何调整我的函数以将向量的开头和结尾而不是向量本身作为输入?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)