我有以下matlab
函数,找到矩阵中多列的最大值:
function m = maximum(u)
[row col] = size(u);
for i=1:col
m(i) = max(u(:,i))
end
end
我知道在matlab中使用函数mean
来查找平均值,但是如何在函数中使用它?
感谢。
答案 0 :(得分:1)
col_max = max(u,[],1); % max of matrix along 1st dimension (max of column)
col_mean = mean(u,1); % mean of matrix along 1st dimension (mean of column)
顺便说一句,std
和许多其他函数具有相似的自动矢量化:
col_std = std(u,0,1); % standard deviation, normalized by N-1
% , of first dimension (column s.d.)
使用Matlab的内置矢量化版本通常更容易。它们不容易出错,并且对于像这样的简单操作通常具有更好的性能。但是,如果你想把它写成一个循环:
function m = column_mean(u)
[row col] = size(u);
for i=1:col
m(i) = mean(u(:,i)); % <--- replaced max with mean
end
end