我有以下matlab
功能,找到矩阵中的列数的最大值:
function m = maximum(u)
[row col] = size(u);
for i=1:col
m(i) = max(u(:,i))
end
end
我知道该函数mean
在 matlab 中用于查找平均值,但是如何将它与我的函数一起使用?
谢谢。
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