lj2tt 发表于 2009-2-26 19:51

对于如这个数组里那些不规则的点,有什么办法可以去掉吗

数组附件,不做任何处理的图如下:
最终要得到的线是:t=0时,x=20;t=1时,x=120的直线。但是现在得到的数据有很多干扰点,想通过什么方法去掉,请问有什么比较好的建议吗,如果附有程序,真的是十分感谢~~

ChaChing 发表于 2009-2-26 22:25

回复 楼主 lj2tt 的帖子

LZ在信号处理不是问过了!
这方面的高手, 就是那帖回覆LZ的大牛!

lj2tt 发表于 2009-2-27 11:00

回复 沙发 ChaChing 的帖子

是啊,不过问题的切入点不同啊
信号那里是想去噪;这里是噪声如果去不了,想办法直接处理最终数据。。。。

ChaChing 发表于 2009-2-27 11:12

回复 板凳 lj2tt 的帖子

这样不是有点作弊的样子!:@)
去除直线某范围外的资料, 仅仅画那直线附近的点, 不是就可以了

lj2tt 发表于 2009-2-27 12:20

回复 地板 ChaChing 的帖子

你是说直接手动去除,这样算作弊。。。
但我是想通过什么好的数学方法去除那些点,这样就不算作弊了吧,是对数据结果的再处理

ChaChing 发表于 2009-2-27 18:08

回复 5楼 lj2tt 的帖子

sorry! 或许误会了LZ的意思了!

ChaChing 发表于 2009-2-27 19:01

试试这个, 或许需微调些
clc; clear; load 1.txt; t=X1(:,1); x=X1(:,2); plot(t,x,'o')

tt=t; xx=x; std_1=std(x); dx_std=std_1;
while dx_std > std_1/10
p=polyfit(tt,xx,1); dx=xx-polyval(p,tt); dx_std=std(dx)
kk=find(dx<=dx_std); tt=tt(kk); xx=xx(kk);
end
figure; plot(tt,xx,'o')

lj2tt 发表于 2009-3-3 11:22

回复 7楼 ChaChing 的帖子

刚进站~~
谢谢,这就去试试:@D ~~

lj2tt 发表于 2009-3-4 12:02

回复 7楼 ChaChing 的帖子

:@L 换了一组数据,为什么就不适用了呢?我把find那里的条件改来改去也没找到一个合适的~~~

ChaChing 发表于 2009-3-4 22:18

回复 9楼 lj2tt 的帖子

原先的资料(1F的图)可以发现那条直线的点较多!
所以想到利用std去除不要的点, 并非适用任何情况!
LZ的新资料, 好像已经违反7F程序的基本假设了!
具体应如何, 再想想或等高手来!
页: [1]
查看完整版本: 对于如这个数组里那些不规则的点,有什么办法可以去掉吗