MATLAB 利用filter函数实现滑动平均滤波

function [ y ] = moving_average( x, win_size )
    y1=filter(ones(1,win_size/2+1)/win_size,1,x);
    y2=filter(ones(1,win_size/2+1)/win_size,1,fliplr(x));
    y=y1+fliplr(y2)-(1/win_size)*x;
end

L = win_size/2;

yi = (1/win_size)∑(j=i-L:i+L)xj

时间: 2024-10-06 04:14:34

MATLAB 利用filter函数实现滑动平均滤波的相关文章

滑动平均滤波算法(递推平均滤波法)

//滑动平均滤波算法(递推平均滤波法) //ADNum为获得的AD数 //GN为数组value_buf[]的元素个数.该函数主要被调用,利用参数的数组传值 const int GN = 12; int filterPtr = 0; bool isFirst = true; public float gSum = 0; float[] gbuf  = new float[GN]; float GlideFilterAD(float ADNum) { if (isFirst) { isFirst =

滑动平均滤波算法(递推平均滤波法)(转帖)

//滑动平均滤波算法(递推平均滤波法)--C语言版 int FilterI=0; //ADNum为获得的AD数 //n为数组value_buf[]的元素个数.该函数主要被调用,利用参数的数组传值 int GlideFilterAD(int value_buf[],int n,int ADNum) { int sum=0; value_buf[FilterI++]=ADNum; if(FilterI==n) FilterI=0; //先进先出,再求平均值 for(int count=0;count

[Matlab] 滤波器filter函数造轮子及使用代码生成进行速度优化

之前做脑机接口上位机的时候需要对数据进行实时滤波,也就是需要对数据进行分段滤波,保存滤波器前一次的历史状态.翻了翻MATLAB官方文档的filter函数发现有这个功能,不过他们的函数说明是用相位及延迟进行设置,看了半天没理解什么意思,为了保险起见我自己造了个轮子实现简单的IIR滤波器.filter函数的官方文档:https://ww2.mathworks.cn/help/matlab/ref/filter.html?s_tid=doc_ta 在官方文档中IIR滤波器的详细原理都已经讲的很明白了不

[MATLAB] 利用遗传算法函数求目标函数的最优解

最近接触到了遗传算法以及利用遗传算法求最优解,所以就把这些相关的内容整理记录一下. 一.遗传算法简介(摘自维基百科) 遗传算法(英语:genetic algorithm (GA))是计算数学中用于解决最佳化的搜索算法,是进化算法的一种.进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传.突变.自然选择以及杂交等. 算法 选择初始生命种群 循环 评价种群中的个体适应度 以比例原则(分数高的挑中概率也较高)选择产生下一个种群. 改变该种群(交叉和变异) 直到停止循环的条件满足

Python 利用filter函数求素数

首先从2开始自然数序列 2,3,4,5,6,7,8,9,10,11,12,13,14-- 剔除2和2 的倍数,奇数列 3,5,7,9,11,13,15,17,19-- 剔除3的倍数 5,7,11,13,17,19 剔除5的倍数,以此类推 #创建一个奇数序列 def jishu(): n=1 while True: n=n+2 yield n #迭代器Iterator,惰性序列 #创建一个过滤函数 def guolv(first): return lambda x:x % first>0 #定义一

jQuery filter函数使用方法

利用filter函数可以从wrapper set中过滤符合条件的DOM元素. 如果有一个内容如下的html文件,要获取类为external的<a>元素,使用filter可以很easy地搞定. <a href="#" class="external">link</a> <a href="#" class="external">link</a> <a href=&q

【转】利用matlab生成随机数函数

原文地址:利用matlab生成随机数函数 rand(n):生成0到1之间的n阶随机数方阵  rand(m,n):生成0到1之间的m×n的随机数矩阵 (现成的函数) betarnd:贝塔分布的随机数生成器 binornd:二项分布的随机数生成器 chi2rnd:卡方分布的随机数生成器 exprnd:指数分布的随机数生成器 frnd:f分布的随机数生成器 gamrnd:伽玛分布的随机数生成器 geornd:几何分布的随机数生成器 hygernd:超几何分布的随机数生成器 lognrnd:对数正态分布

SA:T1法利用Matlab编写主函数实现对一元函数优化求解——Jason niu

%SA:T1法利用Matlab编写主函数实现对一元函数优化求解--Jason niu x = 1:0.01:2; y = sin(10*pi*x) ./ x; figure plot(x,y,'linewidth',1.5) ylim([-1.5, 1.5]) xlabel('x') ylabel('y') title('SA:T1法利用Matlab编写主函数实现对一元函数y = sin(10*pi*x) / x优化求解-Jason niu') hold on [maxVal,maxIndex]

MATLAB信号处理工具箱函数列表分类

现将MATLAB信号处理工具箱函数进行分组,便于记忆查询和长期回顾.(只解释基本用途,具体用法请在help目录下查询) Waveform Generation(波形产生) chairp: 产生扫频余弦函数: diric: 产生Dirichlet或周期sinc函数: gauspuls: 产生高斯调制地正弦曲线脉冲: pulstran: 产生一个脉冲序列: rectpuls: 产生一个非周期的抽样方波: sawtooth: 产生锯齿波或三角波: sinc: 产生sinc函数,即sin(πt)/πt;