CChart内置数据处理功能默认是不打开的。要打开数据处理功能,请点击菜单“绘图状态-->特别功能-->允许数据处理”,这时菜单“曲线数据-->数据名”下,将多出一个“数据处理”菜单,如图所示。
可以看到,笨笨内置了四种数据处理功能,线性变换、微积分、数据平滑、数据拟合。
A10.1线性变换
“线性变换”菜单提供了三个功能,分别是偏移、缩放、变换。这三个功能都非常简单,只要看看弹出的对话框就全明白了。
可见,对于偏移功能,分别设置X、Y方向的偏移值即可,对于缩放功能,需设置缩放中心和缩放系数,对于变换功能,需设置仿射变换的6个系数。实际上,仿射变换功能完全覆盖了偏移和缩放功能。
对话框中“Reserveold data”表示变换处理后是否保留原曲线。
由于这几个功能都非常简单,就不演示效果了。
A10.2微积分
“微积分”菜单提供了两个功能,分别是微分和积分。下面是微分和积分两个功能分别弹出的对话框。
对于微分功能,微分方法分后向微分、前向微分和双向微分三种,对于积分功能,积分方法分左积分、右积分、中心积分三种。
下面先画一个正弦曲线。
选择“微分”后的状态。
选择积分后的状态。
A10.3数据平滑
“数据平滑”菜单提供了两个功能,分别是中值滤波和均值滤波。弹出的对话框如下。
在这里设置滤波的点数。
效果这里也不演示了。
A10.4数据拟合
“数据拟合”菜单提供了多种功能,笨笨添加了多项式拟合、指数函数拟合、对数函数拟合、单峰高斯函数拟合、多峰高斯函数拟合等。这些是笨笨平时用得较多的,对于其它函数,如有需要也可以添加。
下面笨笨演示一下复杂一点的多峰高斯拟合。
我们知道高斯分布的表达式为y=a*exp(-0.5*((x-b)/c)^2),其中b就是这个分布的中心位置,c代表峰的宽度,a代表峰的高度。多峰的话,就是在多个位置都有一个高斯峰。
我们画三个峰叠加,三个峰的(a,b, c)分别为(3, 2, 0.3),(2, 6,0.5),(5, 10, 0.4),另外我们还添加一个本底0.6。
这样得到的曲线如图。
我们点击多峰高斯拟合的菜单,弹出如下对话框。
由于我们这里有三个峰,GaussianPeaks应该选择3。
在Peak No下拉列表框中,选择第几个峰,然后在下面ak,bk,ck中设置该峰的初值。初值的关键是峰的位置bk不要差得太远,峰的高度ak和宽度ck无所谓。
前面已知三个峰的位置在2,6,10。我们设置三个峰bk初值分别为1.5,7,10.5。拟合后将弹出一个结果对话框。
可以看到拟合出来的结果和我们设置的初值完全一样。我们看看拟合曲线和原曲线的情况,两条曲线也完全重合。
下面我们在原曲线上加上一个随机噪声。
按上述方法拟合,拟合结果如图。
这时拟合得到的值和我们设置的初值非常接近,说明拟合成功。
可见拟合曲线完美地描述了原曲线的包络。
CChart内置数据处理功能介绍结束。当然功能还不算多,以后将根据需要继续添加。
版权声明:本文为博主原创文章,未经博主允许不得转载。