首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

等值线光滑解决办法

2012-01-10 
等值线光滑各位高手:我用三次样条函数进行等值线光滑,运行以后乱七八糟的,我感觉函数没有错误,到底是什么

等值线光滑
各位高手:我用三次样条函数进行等值线光滑,运行以后乱七八糟的,我感觉函数没有错误,到底是什么原因?请求援助

[解决办法]
曲线光滑的算法不少,我曾经写过个比较简单的,楼主或许有用.
思路如下:
1:线性差值.差值量至少3倍
2:中值滤波.可以取3点.5点,7点不等.

差值量越大,曲线变形越小.
举例:

10,310,10,310
差值后:
10,110,210,310,210,110,10,110,210,310
滤波后:
10,110,210,243,210,110,77,110,210,310

优点:计算量小,只针对曲线拐角圆整,对于整体曲线形状改变小.差值量越大,圆整越好.
[解决办法]
首先,这个源代码贴出来也没有用,因为我之前是用在示波器的波形修正上的,数据存放方式未必和楼主的一直。因此代码毫无意义,我上面举的例子其实就是为了说明算法,只要看明白这里例子很容易就写出代码来的。

我相信任何数据插值或圆整的需求应该都和采样点的密度有关。

其实我那个算法还有个好处,就是可以改变圆整的影响范围。插值量越小,滤波算法的参考点选得越多,那么整个曲线的圆角就越大,当然,和原始曲线的偏差也就越大;插值量越大,参考点选得越少(就象我例子里只用3点均值,它只影响处于“顶角”得这一点而已)曲线得圆角也就越小,和原始曲线得偏差也就越小。

[解决办法]
等值线效果差无非两种情况:
1:采样点不够,或者采样方法不科学
2:采样数据有问题,造成采样误差,把不属于采样范围的点也采进来了

楼主可以根据这两个方面先找找原因.

毕竟,任何对数据的事后处理都不及一个高质量的原始采样来得好.因为处理就意味着失真.

热点排行