LabVIEW在线性拟合与数据处理实验中的应用
2019-10-21方洵魏亚茹郑玉恒
方洵 魏亚茹 郑玉恒
摘 要:误差理论与数据处理是测控技术与仪器专业的一门专业基础课,课程的理论性强,公式繁多复杂,给学生学习该门课程造成了一定的困难.利用图形化编程语言 LabVIEW 进行实验软件的开发,将该课程实验的数据处理部分利用软件完成,使学生有更多的时间专注于误差理论和数据处理方法的理解。
关键词:LabVIEW;线性拟合;数据处理
1.LabVIEW编程开发环境介绍
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。
LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种用图标代替文本行创建应用程序的图形化编程语言。传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而 LabVIEW 则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。VI指虚拟仪器,是 LabVIEW 的程序模块。
LabVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。用户界面在 LabVIEW 中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。这就是图形化源代码,又称G代码。LabVIEW 的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。
2.软件设计实例
2.1实验原理
用最小二乘的方法,设计输出电压随废气浓度的变化关系。
2.2程序设计
给定废气浓度(X),输出电压值(Y),设计VI,实现输入压力值与输出电压值之间的最佳线性拟合直线。
2.3程序框图设计
本实验采用了LabVIEW数组函数,簇函数,创建数组,数组捆绑,XY图以及线性拟合函数来实现功能及数据计算与处理。得到数据快速且数据准确,相比于人为计算,减少了出错率,有效提高了效率。
2.4.线性拟合函数介绍
(1)输入参数
Y:是由因变值组成的数组。Y的长度必须大于等于未知参数的元素個数
X:是由自变量组成的数组。X的元素必须等于Y的元素个数。
权重:是观测点(xi,yi)的权重数组。权重的元素数必须等于Y的元素数。若权重未连线,VI将把权重的所有元素设置为1.
容差:确定使用最小绝对残差或Bisquare方法时,何时停止斜率和截距的迭代调整。对于最小绝对残差方法,若两次连续的交互之间残差的相对差小于容差,该VI将返回结果残差。对于Bisquare方法,若两次连续的交互之间斜率的和截距的相对差小于容差,该VI将返回斜率和截距。若容差小于等于0,VI将设置容差为0.0001。
方法:指定拟合方法。有3种方法可选择:最小二乘(默认),最小绝对残差,Bisquare。
参世界限:包含斜率和截距的上、下限。若知道特定参数的值,可设置参数的上、下限为该值。
(2)输出参数
最佳线性拟合:返回拟合模型的Y值。
斜率:返回拟合模型的斜率。
截距:返回拟合模型的截距。
残差:返回拟合模型的加权平均值。若方法设置为最小绝对残差值,则残差为加权平均绝对误差;否则残差为加权均方误差。
3.结语
本实验是基于LabVIEW编程环境对误差与数据处理的,同样在其他编程环境上可实现,例如MATLAB与C语言。但相比于其他编程环境,LabVIEW则具有独特的优势,LabVIEW操作更为简单,结果更加形象,效率更为高效。只需对相关图标的端口进行连线,捆绑等操作,点击运行,即可完成大量繁复程序工作,结果可同时用数据与图形图表呈现,易于理解。
在误差理论与数据处理的教学改革中,LabVIEW编程环境能够实现高效的编译,是一款教育与学习的有力工具。
参考文献:
[1] 费业泰. 误差理论与数据处理[M]. 北京: 机械工业出版社, 2015
[2] 张世英,刘智敏. 测量实践的数据处理. 北京: 科学出版社, 1977
[3] 雷振山. LabVIEW 7 Express实用技术教程[M]. 北京:北京铁道出版社,2004
[4] 张重雄,张思维. 虚拟仪器技术分析与设计(第三版). 北京:电子工业出版社, 2017
[5] 杨乐平,李海涛,杨磊. LabVIEW程序设计与应用. 北京:电子工业出版社,2005