如何在列表清单上操作移动平均线?

问题描述 投票:0回答:1

我有一个mathematica中的数字列表列表,即{{a,b,c,d,e},{f,g,h,i,j}}

我想在每个子列表上操作MovingAverage。

然而,

移动平均线[列表列表,{movingAverageElementChoice,movingAverageElementChoice}]只返回一维列表,即第j列中元素的数量除以numberOfSublists

我试了很多,请帮忙!

我试过MovingAverage [listOfLists,movingAverageElementChoice]

kineticsData8219K6Averaged = MovingAverage [kineticsData8219K6,{10,10,10,10,10,10}];

我希望它输出MovingAverage操作的每个子列表

wolfram-mathematica moving-average
1个回答
1
投票

您希望对列表的每个元素执行相同的操作。几乎在这种情况下你应该想到Map。您的每个元素恰好都是列表,但这不是问题。所以

data={{a, b, c, d, e},{f, g, h, i, j}};
Map[MovingAverage[#, 2]&, data]

给你结果

{{(a+b)/2, (b+c)/2, (c+d)/2, (d+e)/2}, {(f+g)/2, (g+h)/2, (h+i)/2, (i+j)/2}}

您可以在MovingAverage中提供其他参数来修改行为以匹配您所需的行为。 #将被data中的每个列表逐个替换为MovingAverage,每个qazxswpoi的结果将被放入列表并返回给您。

© www.soinside.com 2019 - 2024. All rights reserved.