You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matlab中如何对数组每8个元素取均值实现8倍降采样?

Matlab 实现数组每8个连续元素求平均值的方法

实现思路

  • 先把一维原数组重构成8行N列的矩阵,其中N等于原数组长度除以8,要求原数组长度必须是8的整数倍
  • 对矩阵每一列求平均值,得到的结果就是目标数组

代码实现

通用写法(兼容行向量、列向量输入)

% 示例输入数组
array = [2 4 6 7 1 5 8 3 9 5 5 8 7 7 2 3 4 3 5 8 6 9 0 1];
% 重构成8行的矩阵,第二参数写[]会自动计算匹配的列数
reshaped_arr = reshape(array, 8, []);
% 对矩阵每一列求平均值,输出为行向量和示例格式对齐
arrayfinal = mean(reshaped_arr, 1);

运行结果

执行上述代码后得到的arrayfinal输出为:

[4.5 5.75 4.5]
和预期结果完全匹配。

注意事项

  • 该实现要求原数组长度必须是8的整数倍,否则reshape方法会抛出参数不匹配的错误
  • 如果原数组为列向量,最终结果需要转置为列向量的话,修改最后一行代码为arrayfinal = mean(reshaped_arr, 1).';即可

内容的提问来源于stack exchange,提问作者Johannes Stache

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 21:15:04