mayuew052 发表于 2011-4-19 16:37:02

matlab曲线光滑化

下面是一组数据。
-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进行批量处理。
还望各路高手都出来指教一下。感激不尽。。

mayuew052 发表于 2011-4-19 16:39:09

如果高手比较忙的话可以提醒一下操作方法,具体的程序我自己写。
如果能写出程序来,那就更谢谢了。

gfl 发表于 2011-4-19 17:29:37

可以用样条函数试试。

mayuew052 发表于 2011-4-19 18:19:01

能再详细一点么?
具体一点。。谢谢了。
3# gfl

nwcwww 发表于 2011-4-19 19:07:23

用样条来fit就不错。
想省事就直接cscvn,但是在较大转角处有时候可能有点夸张。

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



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

mayuew052 发表于 2011-4-19 19:12:28

恩,确实有点夸张了。。呵呵,不过还是不错的选择。。
多谢nwcwww了。
您说省事儿了,用cscvn,那么如果麻烦一点的话怎么办了?
可以写一点程序来处理,就好了。。。
还是希望看到的高手都出来说说,最好结果能跟我上面的Graph1,相近就好了。。
Graph1的图片还是很漂亮的,不怎么失真,nwcww处理的也可以,就是稍微有点看着比较痛苦。。
5# nwcwww
页: [1]
查看完整版本: matlab曲线光滑化