kingng23 发表于 2008-5-25 19:46

求具体实验数据滤波方法

我上传了我实验得到的数据,以及用matlab得到的曲线。实验数据第2列是alfa,第1列是Fy!
但是,实验的曲线不是光滑的,现在要用滤波将其变成光滑曲线,我以前没有做过滤波,看完了论坛上的所有帖子,也没有找到跟我一样的例子,所以在这里发出求助,希望哪位能帮我做一下,即使是指点一下该怎么做也不胜感激!!
实在是找不到一点头绪,希望能快点得到回复,谢谢!

sogooda 发表于 2008-5-25 20:15

试试中值滤波
doc medfilt1

kingng23 发表于 2008-5-25 20:34

可是我就是不知道具体该怎么做在matlab里面!!!没有实际的例子让我参考!!借的书中只有滤波器的原理!!请问你可以帮我吗??急

sogooda 发表于 2008-5-25 21:28

原帖由 kingng23 于 2008-5-25 20:34 发表 http://www.chinavib.com/forum/images/common/back.gif
可是我就是不知道具体该怎么做在matlab里面!!!没有实际的例子让我参考!!借的书中只有滤波器的原理!!请问你可以帮我吗??急
matlab中的命令就是medfilt1,自己看看帮助文档,不难。

kingng23 发表于 2008-5-26 12:09

x=medfilt1(Sheet1(:,15));
y=medfilt1(Sheet1(:,11));
plot(x,y)


我用上面的进行滤波,图像是比原来的好一点,跟想要的光滑曲线还有很大差距,该怎么做?

kingng23 发表于 2008-5-26 12:35

我在想是不是重复滤波很多次之后他可以变的光滑,我在原来滤波的基础上又滤波了一次,好像又平滑了一点,反复滤波的功能是不是可以在程序里面加进去,具体该怎么做

sogooda 发表于 2008-5-26 13:55

取均值的区域再大点儿可能可以达到你的目的。

kingng23 发表于 2008-5-26 16:21

感谢sogooda给我的帮助,我已经得到比较光滑的曲线了!!
我用了Difference Equations and Filtering
在这里把我处理的东西贴出来,虽然很简单,但是,或许可以给跟我一样菜鸟的人有点帮助!
a = 1;
b = ;
x=Sheet1(:,15);    %从excel中提取第15列
y=Sheet1(:,11);    %从excel中提取第11列
m= filter(b,a,x);   %对x数据进行滤波
n= filter(b,a,y);   %对y数据进行滤波
p=polyfit(m,n,5);   %用最小二乘法对m,n进行5阶多项式逼近
z=polyval(p,m);
plot(m,z)               %画出m,n的拟合图像


我上传一下我滤波之后跟拟合的曲线,曲线滤波拟合之后比较光滑。
页: [1]
查看完整版本: 求具体实验数据滤波方法