数据处理VC 的图形界面编程能力非常强大,使用简单,但是进行大规模数据处理,例如矩阵运算时,编写算法很复杂。Matlab具有强大的数据处理能力,但界面设计远不能满足要求。因此,采用Matlab与VC 的混合编程技术,可以实现优势互补,达到事半功倍的效果。
用VC 应用程序调用Matlab流程:①头文件的包含和全局变量的定义。②变量的初始化,特别是引擎指针ep的定义和结构体变量mxArray的声明。③启动Matlab引擎。④创建矩阵,并为其命名,赋值。⑤通过使用Matlab引擎库的库函数engPutArray,将己定义的变量输送到Matlab工作空间。⑥通过使用Matlab引擎库的库函数engEvalString,向Matlab发出一个计算指令,并且在Matlab中计算完成。⑦通过函数engEvalString,调用Matlab的内建绘图函数,绘图并在VC 中输出结果。⑧释放内存,关闭Matlab引擎,返回。损耗正切角温度曲线最小二乘多项式拟合表明,经过对数乘方数据处理的拟合曲线较直接4次多项式拟合曲线的拟合精度明显提高,且拟合余量小第1部分为最上端的菜单及工具栏部分。在点击菜单弹出的对话框中,可以进行各种初始化参数的设置,PID控制算法的选择,及其他的曲线剪切与粘帖,视图切换,参数提取及启动Matlab仿真,数据处理与数据交换等功能。
在绘图区右侧,为数据过程控制器和自动测量显示器的状态指示,显示出当前高低温槽温度,线性温升速率,动态位移量,激振频率,张力衰减率,损耗正切角,动态复模量等。虚拟动态粘弹谱仪不但实现了原数据过程控制器的温度上下限设定、线性温升控制、间隔打印等功能,而且将最短每隔30s处理保存一次数据提高为每隔2s处理保存一次数据,增加了曲线实时绘制与复制保存功能;不但实现了原动态粘谱仪绘图仪的功能,而且能将数据保存成文本文件,便于用计算机实现后续数据处理,而不像原来那样需要手工处理数据;不但完全实现了原电传打字机功能,对采集数据进行解码、译码、数据发送等,而且将原来刻板复杂的操作变得简洁、明了。