-2
我有以下matlab
功能,發現最大的一個矩陣的列數:尋找「的意思是」價值
function m = maximum(u)
[row col] = size(u);
for i=1:col
m(i) = max(u(:,i))
end
end
我知道功能mean
在MATLAB是用來尋找均值價值,但我怎樣才能使用它與我的功能?
謝謝。
我有以下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
@stewman。感謝您的回覆。我想要做的是首先,爲每列找到「max」。然後,對於我所擁有的「最大」值,我想要取其「平均值」。你知道這可以做到嗎?謝謝... – Simplicity 2013-04-20 15:29:51
@ Med-SWEng'mean(max(u,[],1))' – sfstewman 2013-04-20 15:40:22
@stewman。這隻會意味着第一列,不是嗎? – Simplicity 2013-04-20 15:43:02