gpt4 book ai didi

matlab - 如何以矢量化方式平均每第 n 个元素的矩阵?

转载 作者:太空宇宙 更新时间:2023-11-03 19:48:33 25 4
gpt4 key购买 nike

在 MATLAB 中,给定一个 36 x 17 矩阵 A,我想对每列的每 6 个元素进行平均,从而创建一个 6 x 17 矩阵 B。我可以使用以下代码实现它:

A = rand(36, 17);

B = [mean(A(1:6:36,:)); mean(A(2:6:36,:)); mean(A(3:6:36,:)); mean(A(4:6:36,:)); mean(A(5:6:36,:)); mean(A(6:6:36,:))];

虽然语法不是很长,但我想知道是否可以通过更紧凑、更高效的方式(即使用 bsxfunarrayfun?)实现相同的结果

最佳答案

如评论中所述,reshape基本上将第一个暗淡分成两部分,前者的长度为 6 以获得 3D 数组,然后使用 mean沿着这两者中的后者,这将是 3D 数组中的第二个暗淡和 2D 输出的最终 reshape /挤压 -

B = squeeze(mean(reshape(A,6,[],size(A,2)),2))

关于matlab - 如何以矢量化方式平均每第 n 个元素的矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43619818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com