Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Math 加权平均:基于数据长度的可变权重列表_Math - Fatal编程技术网

Math 加权平均:基于数据长度的可变权重列表

Math 加权平均:基于数据长度的可变权重列表,math,Math,我正在挣扎,似乎它应该是一个简单而直接的计算。我试图生成一个列表的加权平均值,其中最近的元素比以前的元素重。权重列表需要基于输入列表的长度,加起来等于1 假设我有一个给定的列表: l=[123456789] 下一步是制作一个体重列表,类似这样(我刚刚编了这些数字,但它们显示了我所追求的体重概况的总体想法): w=[0.15,0.25,0.6] 这就是我被困的地方。根据l的长度生成w 有什么想法吗?您可以遵循某种单调递增函数(即e^x),只需规范化第一个n值,其中n是列表的长度。我猜您所关注的权重

我正在挣扎,似乎它应该是一个简单而直接的计算。我试图生成一个列表的加权平均值,其中最近的元素比以前的元素重。权重列表需要基于输入列表的长度,加起来等于1

假设我有一个给定的列表:
l=[123456789]

下一步是制作一个体重列表,类似这样(我刚刚编了这些数字,但它们显示了我所追求的体重概况的总体想法):
w=[0.15,0.25,0.6]

这就是我被困的地方。根据
l
的长度生成
w


有什么想法吗?

您可以遵循某种单调递增函数(即
e^x
),只需规范化第一个
n
值,其中
n
是列表的长度。

我猜您所关注的权重有点像:

[a,2a,3a,4a,…,n*a]

权重之和:(a*n*(n+1))/2=1

求解a并填充权重数组

当N为3时,a为(1/6)


w=[1/6,2/6,3/6]

正是我想要的。谢谢:)太好了。!乐意帮忙:)