【发布时间】:2008-10-19 12:10:41
【问题描述】:
我想使用 MATLAB 将函数应用于矩阵中的所有列。例如,我希望能够在矩阵的每一列上调用 smooth,而不是让 smooth 将矩阵视为向量(如果您调用 smooth(matrix),这是默认行为)。
我确定一定有更惯用的方法来做到这一点,但我找不到,所以我定义了一个map_column 函数:
function result = map_column(m, func)
result = m;
for col = 1:size(m,2)
result(:,col) = func(m(:,col));
end
end
我可以打电话给:
smoothed = map_column(input, @(c) (smooth(c, 9)));
这段代码有什么问题吗?我该如何改进它?
【问题讨论】:
标签: matlab matrix enumeration