找回密码
 注册
Simdroid-非首页
查看: 111|回复: 5

matlab曲线光滑化

[复制链接]
发表于 2011-4-19 16:37:02 | 显示全部楼层 |阅读模式 来自 大连理工大学
下面是一组数据。
-0.789410000000000 -0.0148460000000000
-0.788810000000000 -0.0116020000000000
-0.787500000000000 -0.00856900000000000
-0.785570000000000 -0.00589500000000000
-0.783140000000000 -0.00374000000000000
-0.780150000000000 -0.00209400000000000
-0.777040000000000 -0.00119300000000000
-0.774690000000000 -0.000819000000000000
-0.772330000000000 -0.000514000000000000
-0.769960000000000 -0.000280000000000000
-0.767590000000000 -0.000117000000000000
-0.765233226445500 0.000935504350750000
-0.762783634800000 0.0104368695250000
-0.759421281580000 0.0132630694900000
-0.756117290560000 0.0103472272400000
-0.752926387500000 0.00479295731600000
-0.749790000000000 -0.000242000000000000
-0.746530000000000 -0.000355000000000000
-0.743270000000000 -0.000490000000000000
-0.740900000000000 -0.000631000000000000
-0.738530000000000 -0.000843000000000000
-0.736170000000000 -0.00112500000000000
-0.733820000000000 -0.00147700000000000
-0.731480000000000 -0.00189900000000000
-0.729150000000000 -0.00239000000000000
-0.726040000000000 -0.00346900000000000
-0.723230000000000 -0.00520400000000000
-0.685920746666667 0.0211313234000000
-0.683369860000000 0.00789436700000000
-0.717910000000000 -0.0134270000000000
-0.717470000000000 -0.0166440000000000
这组数据画出来后的效果如图片一所示。
xy=load('d:\11.txt');
plot(xy(:,1),xy(:,2),'r-o');
我现在需要把上上面画出来的曲线进行光滑化,处理,就是让两点之间的连线不在是直线。想 知道在matlab下有什么好方法。
我采用过插值的方法处理,效果不行,因为在这组折线上的右上方的两个点突出来了,它的x值是比较大的,插值后与原始的图像根本不符合。
想得到的结果是Graph1所示的形状。Graph是采用origin进行处理得到的。因为有很多的图片,所以想采用matlab进行批量处理。
还望各路高手都出来指教一下。感激不尽。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2011-4-19 16:39:09 | 显示全部楼层 来自 大连理工大学
Simdroid开发平台
如果高手比较忙的话可以提醒一下操作方法,具体的程序我自己写。
如果能写出程序来,那就更谢谢了。
回复 不支持

使用道具 举报

发表于 2011-4-19 17:29:37 | 显示全部楼层 来自 浙江杭州
可以用样条函数试试。
回复 不支持

使用道具 举报

 楼主| 发表于 2011-4-19 18:19:01 | 显示全部楼层 来自 大连理工大学
能再详细一点么?
具体一点。。谢谢了。
3# gfl
回复 不支持

使用道具 举报

发表于 2011-4-19 19:07:23 | 显示全部楼层 来自 英国
用样条来fit就不错。
想省事就直接cscvn,但是在较大转角处有时候可能有点夸张。

fnplt(cscvn(xy'));
hold on;plot(xy(:,1),xy(:,2),'ro');



觉得转角处比较难受的话可以考虑分段去fit

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2011-4-19 19:12:28 | 显示全部楼层 来自 大连理工大学
恩,确实有点夸张了。。呵呵,不过还是不错的选择。。
多谢nwcwww了。
您说省事儿了,用cscvn,那么如果麻烦一点的话怎么办了?
可以写一点程序来处理,就好了。。。
还是希望看到的高手都出来说说,最好结果能跟我上面的Graph1,相近就好了。。
Graph1的图片还是很漂亮的,不怎么失真,nwcww处理的也可以,就是稍微有点看着比较痛苦。。
5# nwcwww
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-4 21:22 , Processed in 0.044134 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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