最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

Matlab滑动平均

来源:动视网 责编:小OO 时间:2025-09-27 20:00:12
文档

Matlab滑动平均

Matlab:利用filter函数求滑动平均(zz)2011年06月19日星期日13:47滑动平均(movingaverage):在地球物理异常图上,选定某一尺寸的窗口,将窗口内的所有异常值做算术平均,将平均值作为窗口中心点的异常值。按点距或线距移动窗口,重复此平均方法,直到对整幅图完成上述过程,这种过程称为滑动平均。滑动平均相当于低通滤波,在重力勘探和测井资料处理解释中常用此方法。如果滑动窗长为n的话,滑动平均就是让数据通过一个n点的FIR滤波器,滤波器抽头系数都是1,这样取滑动平均就是起到
推荐度:
导读Matlab:利用filter函数求滑动平均(zz)2011年06月19日星期日13:47滑动平均(movingaverage):在地球物理异常图上,选定某一尺寸的窗口,将窗口内的所有异常值做算术平均,将平均值作为窗口中心点的异常值。按点距或线距移动窗口,重复此平均方法,直到对整幅图完成上述过程,这种过程称为滑动平均。滑动平均相当于低通滤波,在重力勘探和测井资料处理解释中常用此方法。如果滑动窗长为n的话,滑动平均就是让数据通过一个n点的FIR滤波器,滤波器抽头系数都是1,这样取滑动平均就是起到
Matlab: 利用filter函数求滑动平均(zz) 

2011年06月19日 星期日 13:47

滑动平均(moving average):在地球物理异常图上,选定某一尺寸的窗口,将窗口内的所有异常值做算术平均,将平均值作为窗口中心点的异常值。按点距或线距移动窗口,重复此平均方法,直到对整幅图完成上述过程,这种过程称为滑动平均。

滑动平均相当于低通滤波,在重力勘探和测井资料处理解释中常用此方法。

如果滑动窗长为n的话,滑动平均就是让数据通过一个n点的FIR滤波器,滤波器抽头系数都是1,这样取滑动平均就是起到序列平滑的作用。

  Matlab有多种计算滑动平均的方法,现介绍基于filter函数的计算方法。设原始数据为x,平均窗口设为a(a为正整数),那么无权重滑动平均后的数据y为:

windowSize = a;

y=filter(ones(1,windowSize)/windowSize,1,x);

上述命令实际上计算的是:

y(1)=(1/a)*x(1);

y(2)=(1/a)*x(2)+(1/a)*x(1);

... ...

y(a)=(1/a)*x(a)+(1/a)*x(a-1)+...+(1/a)*x(1);

... ...

y(i)=(1/a)*x(i)+(1/a)*x(i-1)+...+(1/a)*x(i-a+1);

... ....

可以看出,计算某一位置处的平均值时,窗口的前端位于该处。有时为了将窗口中部放在所计算的位置处,这样上述计算方式则变为(为叙述方便起见,设a为奇数):

y(1)=(1/a)*x(1)+(1/a)*x(2)+...+(1/a)*x((a+1)/2);

y(2)=(1/a)*x(1)+(1/a)*x(2)+...+(1/a)*x((a+1)/2+1);

... ...

y((a+1)/2)=(1/a)*x(1)+(1/a)*x(2)+...+(1/a)*x((a+1)/2)+...+(1/a)*x(a);

... ...

y(i)=(1/a)*x(i-(a-1)/2)+(1/a)*x(i-(a-1)/2+1)+...+(1/a)*x(i)+...+(1/a)*x(i+(a-1)/2);

... ...

这种方式的滑动平均称为中心滑动平均,其Matlab的计算语句为:

windowSize = a;

y1=filter(ones(1,a/2+1)/windowSize,1,x);

y2=filter(ones(1,a/2+1)/windowSize,1,fliplr(x));

y=y1+fliplr(y2)-(1/a)*x;

如利用1-2-1 滤波器计算有权重的中心滑动平均,其Matlab语句为:

y1=filter([0.5 0.25],1,x);

y2=filter([0.5 0.25],1,fliplr(x));

y=y1+fliplr(y2)-0.5*x;

文档

Matlab滑动平均

Matlab:利用filter函数求滑动平均(zz)2011年06月19日星期日13:47滑动平均(movingaverage):在地球物理异常图上,选定某一尺寸的窗口,将窗口内的所有异常值做算术平均,将平均值作为窗口中心点的异常值。按点距或线距移动窗口,重复此平均方法,直到对整幅图完成上述过程,这种过程称为滑动平均。滑动平均相当于低通滤波,在重力勘探和测井资料处理解释中常用此方法。如果滑动窗长为n的话,滑动平均就是让数据通过一个n点的FIR滤波器,滤波器抽头系数都是1,这样取滑动平均就是起到
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top