gpt4 book ai didi

matlab - 如何按 block 平均列?

转载 作者:行者123 更新时间:2023-12-04 17:20:31 25 4
gpt4 key购买 nike

例如,我有以下矩阵:

[1 2 3 4 1 2 3 4

1 2 3 4 1 2 3 4

1 2 3 4 1 2 3 4]

我怎么能以编程方式平均在一起,比如说,每四列,这样我就结束了与:

[2.5 2.5

2.5 2.5

2.5 2.5]

?

谢谢,

汤姆

最佳答案

可以使用 reshape 无需循环即可完成:

A = [1 2 3 4 1 2 3 4
1 2 3 4 1 2 3 4
1 2 3 4 1 2 3 4]; %// data matrix
N = 4; %// number of columns to average
result = squeeze(mean(reshape(A,size(A,1), N, []), 2));

如果你有图像处理工具箱,你也可以使用blockproc :

result = blockproc(A, [size(A,1) N], @(x) mean(x.data, 2))

关于matlab - 如何按 block 平均列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25964034/

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