声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1500|回复: 9

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

[复制链接]
发表于 2009-2-26 19:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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

1.txt

9.21 KB, 下载次数: 7

要处理的数据

回复
分享到:

使用道具 举报

发表于 2009-2-26 22:25 | 显示全部楼层

回复 楼主 lj2tt 的帖子

LZ在信号处理不是问过了!
这方面的高手, 就是那帖回覆LZ的大牛!
 楼主| 发表于 2009-2-27 11:00 | 显示全部楼层

回复 沙发 ChaChing 的帖子

是啊,不过问题的切入点不同啊
信号那里是想去噪;这里是噪声如果去不了,想办法直接处理最终数据。。。。
发表于 2009-2-27 11:12 | 显示全部楼层

回复 板凳 lj2tt 的帖子

这样不是有点作弊的样子!:@)
去除直线某范围外的资料, 仅仅画那直线附近的点, 不是就可以了
 楼主| 发表于 2009-2-27 12:20 | 显示全部楼层

回复 地板 ChaChing 的帖子

你是说直接手动去除,这样算作弊。。。
但我是想通过什么好的数学方法去除那些点,这样就不算作弊了吧,是对数据结果的再处理
发表于 2009-2-27 18:08 | 显示全部楼层

回复 5楼 lj2tt 的帖子

sorry! 或许误会了LZ的意思了!
发表于 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')
 楼主| 发表于 2009-3-3 11:22 | 显示全部楼层

回复 7楼 ChaChing 的帖子

刚进站~~
谢谢,这就去试试:@D ~~
 楼主| 发表于 2009-3-4 12:02 | 显示全部楼层

回复 7楼 ChaChing 的帖子

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

新建 Microsoft Word 文档.doc

72 KB, 下载次数: 4

发表于 2009-3-4 22:18 | 显示全部楼层

回复 9楼 lj2tt 的帖子

原先的资料(1F的图)可以发现那条直线的点较多!
所以想到利用std去除不要的点, 并非适用任何情况!
LZ的新资料, 好像已经违反7F程序的基本假设了!
具体应如何, 再想想或等高手来!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-11 23:41 , Processed in 0.065583 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表