我想用MATLAB將函數應用於矩陣中的所有列。例如,我希望能夠在矩陣的每一列調用平滑,而不是平滑地將矩陣視爲向量(如果調用smooth(矩陣),則這是默認行爲)。在MATLAB中迭代矩陣列的最佳方式是什麼?
我敢肯定,必須有這樣做的更地道的方式,但我不能找到它,所以我定義的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)));
有什麼不對的代碼?我怎麼能改進它?
這不會對平滑函數工作。如果通過平滑矩陣,它將它視爲一個大向量。 雖然這種方法對其他一些功能來說很方便。 – dmnd 2008-10-21 06:18:21