是否有任何命令可以找到前5个值的平均值,然后在MATLAB中的向量中找到总共1000个值的下5个值

问题描述 投票:-1回答:2

是否有任何命令可以找到前5个值的平均值,然后从MATLAB中的向量中存在的总共25个值中接下来的5个值。如果数据集是X.如果有人可以帮我提供一个代码,我可以得到每5个值的平均值。

X=[4 5 6 7 2 5 7 4 2 6 7 3 2 1 5 7 8 3 4 6 8 4 2 6 8];
matlab mean calculated-columns
2个回答
0
投票

这是一种简单的方法。将矢量重新排列到列上的矩阵循环中,并取每列中所有值的平均值。将结果存储在新的向量中。

X=[4 5 6 7 2 5 7 4 2 6 7 3 2 1 5 7 8 3 4 6 8 4 2 6 8];
Xr = reshape(X,5,5)
cols = size(Xr)(2)
avgs=zeros(1,cols)

for i= 1:cols
    avgs(i) = mean(Xr(:,i))
end

1
投票

例如,您可以使用reshape在数组中重塑矢量,然后应用mean函数:

M = mean(reshape(X, [5, numel(X)/5]),1);

或者干脆

M = mean(reshape(X, 5, []),1);

但是,正如评论中所述,还有许多其他方式。

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