性能仿真数据处理,常常要用到滤波
如下是经常用的滤波算法代码,MTALB脚本,有需要的朋友可以借鉴,祝一切都好!!
% 滑动平均滤波算法
% Inputs:
% X, 向量
% p, 滑动平均的滑动窗口宽度,正整数
% varargin, 可选输入为'filter'和'end_val',默认为'filter'
% Outputs:
% 滑动平均后的向量,size与输入的向量的size保持一致
function Z = moving_average( X, p, varargin )
% 输入X必须为待滑动平均的向量
if ~isvector( X )
error( 'First input must a vector' );
end
% 判断是行向量还是列向量,当为列向量时,转置
if isequal( X, X( : )' )
is_col = false;
else
is_col = true;
X = X';
end
% p必须为正整数,滑动窗口的宽度
if p ~= round( p ) || p <= 0
error( 'Second argument has to be a strictly positive integer' )
end
% 当可选输入为空时,默认为'filter'
if isempty( varargin )
method = 'filter';
elseif strcmp( varargin{ 1 }, 'filter' ) || strcmp( varargin{ 1 }, 'end_val' )
method = varargin{