average2.m
来自「OFDM宽带无线系统的链路级的仿真程序(多天线」· M 代码 · 共 26 行
M
26 行
% take the averaged across a given dimension
% e.g. X is a 100 by 1000 matrix, Y = average2(X,20,2) gives Y of 100 by 50 matrix
% X can be a up to 3 dimension matrix
function y = average2(x,average_factor,dim)
if nargin == 2,
dim = 1;
end
if dim == 1,
y = nan(floor(length(x)/average_factor),1);
for k = 1:floor(length(x)/average_factor)
y(k) = ...
mean(x((k-1)*average_factor+1:k*average_factor));
end
return;
end
if dim == 2 && length(size(x))==3,
sizeX = size(x);
sizeX(dim) = floor(size(x,dim)/average_factor);
y = zeros(sizeX);
for k = 1:sizeX(dim)
y(:,k,:) = mean(x(:,(k-1)*average_factor+1:k*average_factor,:),2);
end
return
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?