基于Labview联合Matlab实时曲线拟合软件的设计
MATLAB 和LabVIEW混合运用
MATLAB Script 节 点 使 得 用 户 既 可 以 将 MATLAB 程 序 导 入 到 流 程图中, 又可以在流程图中根据 MATLAB 程序的语法 编 辑 MATLAB 程 序 。 具 体 选 择 该 节 点 的 操 作 方 式 为 :Functions >>Mathematics >> FormulaPalette>>MATLAB Script,即从框图窗口中的 Functions 选项板
科技信息
○I T 论坛○
SCIENCE & TECHNOLOGY INFORMATION
2011 年 第 21 期
MATLAB 在虚拟仪器平台 LabVIEW 中的调用研究
武 剑 1 杜云刚 1 甘世明 2 (1.内蒙古工业大学理学院 内蒙古 呼和浩特 010051;2.内蒙古工业大学机械学院 内蒙古 呼和浩特 010051)
基于LabVIEW和MATLAB的频谱分析仪设计
固《计量与洲斌桂术)2007牟第34卷第9期基于LabVIEW和MATLAB的频谱分析仪设计DesignontheVirtualSpectrumAnalysisInstrumentBasedonLabVIEWandMATIAB陈华丽(武汉科技大学,湖北武汉430081)摘要:介绍丁基于LaJ)VIEW和MATLAB的虚拟频藩分析仪的设计过程。
重点阐述了基于LabVIEW的前赍用户界面设计、基于MATLAB的后台信号分析算法研制两部分。
该仪器充分发挥了MATL^_B的数值运算功能、LabVIEW的动态显示和虚拟仪器特睦,以极小的成本实现了传统频谱分析仪的功能,且具有鏖好的扩展性和人机界面。
关键词:囝彤化编程;频谱分析仪;虚拟仪器1引言信号处理几乎涉及到所有的工程技术领域,面频谱分析又是信号处理中一个非常重要的分析手段。
一般的频学分析都依靠传统频谱分析仪来完成,价格昂贵,体积庞大,不便于工程技术人员的携带。
虚拟频谱分析仪改变了原有频谱分析仪的整体设计思路,用软件代替了硬件,使工程技术人员可以用一部笔记本电脑到现场就可轻松完成信号的采集、处理及频谱分析。
在工程领域中,LabVIEW和MATLAB是倍受程序开发人员青睐的两种语言,剐于一些需要做大量数据运算处理的复杂应用以及某些复杂的频谱分析算法LabVIEW显得有些力不从心。
而MATLAB不能实现端口操作和实时控制,在界面方面也稍逊一筹。
在实际工程应用中将二者结合起来取长补短,具有非常实用的价值。
本文将重点介绍基于LabVIEW和MAT—LAB的虚拟频谱分析仪的设计。
2基于LabVIEW和MATLAB的虚拟频谱分析仪的设计2.1基于LabVIEW的前台用户界面设计信号分析模块的前面板设置了一个WaveformGraph控件进行波形显示,显示对信号进行各种分析的结果。
分析仪能够同时进行时域分析和频域分析,时域分析包括微分、积分、卷积、自相关和互相关,频域分析包括F丌、Hilbert变换、小波变换、Hartley变换和IFFT变换,时域分析和频域分析可根据实际需要进行扩展。
如何使用MATLAB进行曲线拟合
如何使用MATLAB进行曲线拟合MATLAB是一种功能强大的数学软件,它提供了许多用于数据分析和曲线拟合的工具。
曲线拟合是一项常用的数学技术,它用于找到数据集中最符合实际情况的曲线。
在本文中,我们将探讨如何使用MATLAB进行曲线拟合,以及一些常见的曲线拟合方法。
在开始之前,让我们先了解一下曲线拟合的概念。
曲线拟合是通过将已知数据点拟合到合适的曲线上来预测未知数据点的技术。
它可以用于数据分析、模型建立、趋势预测等许多领域。
MATLAB提供了多种曲线拟合的方法,其中最常见的是最小二乘拟合。
最小二乘拟合是一种通过最小化观测数据的平方误差来确定参数的方法。
在MATLAB 中,可以使用"polyfit"函数进行最小二乘拟合。
该函数可以拟合多项式曲线和线性曲线。
例如,我们有一组数据点x和对应的y,我们想要拟合一个一次多项式曲线y= ax + b。
我们可以使用"polyfit"函数来找到最佳拟合,并返回系数a和b。
```matlabx = [1, 2, 3, 4, 5];y = [2, 3, 4, 5, 6];p = polyfit(x, y, 1);a = p(1);b = p(2);```在上面的代码中,"polyfit"函数的第一个参数是x值,第二个参数是y值,第三个参数是拟合多项式的阶数。
在这个例子中,我们使用一次多项式即阶数为1。
除了最小二乘拟合,MATLAB还提供了其他一些常用的曲线拟合方法,例如多项式拟合、指数拟合和对数拟合。
这些方法可以通过更改"polyfit"函数的第三个参数来使用。
另一个常用的曲线拟合方法是通过曲线拟合工具箱中的"fit"函数进行非线性拟合。
非线性拟合是指目标函数和参数之间是非线性关系的拟合。
与最小二乘拟合不同,非线性拟合能够拟合更复杂的曲线和模型。
例如,我们有一组数据点x和对应的y,我们想要拟合一个指数曲线y = ae^bx。
LabVIEW与MATLAB的结合强大的数据分析工具
LabVIEW与MATLAB的结合强大的数据分析工具LabVIEW与MATLAB的结合:强大的数据分析工具在科学研究和工程领域,数据分析是十分重要的环节。
为了更好地分析和处理数据,科学家和工程师们经常使用多种工具和软件。
LabVIEW和MATLAB是两个常用且功能强大的数据分析工具。
本文将探讨LabVIEW和MATLAB的结合,介绍它们在数据分析方面的优势。
一、LabVIEW介绍及其在数据采集和控制方面的应用LabVIEW是国际上广泛使用的一种图形化编程环境。
它以数据流为基础,在数据的采集、控制和处理方面具有独特的优势。
LabVIEW可以将传感器和仪器的数据直接输入到计算机,通过图形化界面进行实时监控和控制。
它提供了丰富的工具箱和模块,使得用户能够轻松地进行数据采集、处理和控制。
在数据分析方面,LabVIEW提供了强大的信号处理和模拟工具。
用户可以通过图形化编程方式,快速构建数据分析的算法和模型。
LabVIEW支持多种图形化表示方式,可以清晰地展示数据的变化和趋势。
用户还可以根据需要,将数据导出到Excel、CSV等格式的文件中,方便与其他软件进行进一步的分析和处理。
二、MATLAB介绍及其在数学计算和数据分析方面的应用MATLAB是一种数学计算和编程环境,被广泛应用于科学、工程和商业领域。
它提供了丰富的数学函数和工具箱,支持矩阵运算和符号计算。
MATLAB的语法简洁明了,易于学习和使用,使得用户可以根据自己的需求,编写复杂的数据分析和算法。
在数据分析方面,MATLAB提供了丰富的统计和机器学习工具。
用户可以使用MATLAB进行数据预处理、特征提取、聚类分析和分类模型的构建。
MATLAB还支持数据可视化,用户可以通过绘制图表和曲线,更直观地展示数据的特征和规律。
此外,MATLAB还具有丰富的数据导入和导出功能,方便与其他软件进行数据交换和共享。
三、LabVIEW与MATLAB的结合:优势与应用案例LabVIEW和MATLAB作为两款独立的软件,在数据分析方面各有其优势。
matlab如何实现曲线拟合?matlab做曲线拟合的教程
matlab如何实现曲线拟合?matlab做曲线拟合的教程Matlab是⼀个很强⼤的数据处理软件,是⼈们进⾏数据分析的得⼒助⼿。
⼀般我们做社会调研或科学研究时,会得到很多实验
数据。
当需要研究两个变量之间的关系时,经常要⽤到曲线拟合。
曲线拟合不仅能给出拟合后的关系式,还能⽤图形直观的展现出变量之间的关系。
其实⽤matlab做曲线拟合很便捷,下⾯将以两个变量(y=f(x))为例详细介绍:
1、运⾏Matlab软件。
在⼯作空间中存⼊变量的实验数据。
具体如下:可以直接⽤矩阵来存放数据,直接在命令窗⼝输⼊
x=[数据x1,数据x2,...,数据xn];
y=[数据y1,数据y2,...,数据yn];
当数据较多时,可以从excel,txt等⽂件中导⼊。
2、把数据存⼊⼯作空间后,在命令窗⼝中输⼊cftool,回车运⾏。
3、在这个拟合⼯具窗⼝的左边,选择变量,即分别选择x,y。
4、选择拟合的曲线类型,⼀般是线性拟合,⾼斯曲线,平滑曲线等,根据需要选择。
选择完后会⾃动完成拟合,并且给出拟合函数表达式。
5、点击菜单栏中的“file”,选择“print to figure"进⾏画图。
6、在图形窗⼝中,可以对图形显⽰模式进⾏修改,如添加标题,坐标名称等。
7、最后得到⽐较完整的图形曲线。
点击”file"中的“save"进⾏保存。
注意事项:x和y的数据个数应该⼀致。
用matlab拟合曲线步骤
用matlab拟合曲线步骤Matlab是一种功能强大的数学软件,可以用于数据分析、曲线拟合等各种科学计算任务。
在本文中,我们将介绍使用Matlab拟合曲线的步骤。
第一步是准备数据。
要拟合曲线,我们需要有一组数据作为基础。
这些数据可以是实验测量结果、观测数据或者其他来源。
确保数据准确无误,并将其保存在一个文件中,以便在Matlab中进行处理。
第二步是导入数据。
在Matlab中,可以使用`load`命令或者`importdata`函数来导入数据文件。
根据数据文件的格式,选择合适的导入方法。
导入后,数据将被存储在一个矩阵或者向量中,可以在Matlab中进行进一步的处理。
第三步是选择合适的拟合模型。
根据数据的特点和拟合的目的,选择一个合适的数学模型来拟合曲线。
常见的拟合模型包括线性模型、多项式模型、指数模型、对数模型等。
根据实际情况,可以选择Matlab中提供的拟合函数,如`polyfit`、`fit`等,或者自定义拟合函数。
第四步是进行曲线拟合。
在Matlab中,可以使用`fit`函数来进行曲线拟合。
该函数需要指定拟合模型、拟合数据以及拟合参数的初始值。
根据拟合模型的不同,可能需要调整一些参数,如拟合的阶数、拟合的范围等。
拟合完成后,可以得到拟合曲线的参数值。
第五步是绘制拟合曲线。
在Matlab中,可以使用`plot`函数来绘制拟合曲线。
将拟合曲线的参数值代入拟合模型,计算得到拟合曲线上的点,并将其连接起来,即可得到拟合曲线。
可以使用不同的颜色或线型来区分原始数据和拟合曲线,以便进行比较和分析。
第六步是评估拟合效果。
拟合曲线的好坏可以通过计算拟合误差来评估。
常见的拟合误差指标包括均方根误差(RMSE)、平均绝对误差(MAE)等。
可以使用Matlab中的函数来计算这些误差指标,并根据实际情况进行分析和判断。
最后一步是优化拟合结果。
如果拟合效果不理想,可以尝试调整拟合模型的参数或者选择其他的拟合模型。
可以使用Matlab中的优化算法来寻找最优的拟合参数,以获得更好的拟合效果。
基于LabVIEW和MATLAB混合编程的信号与系统实验教学
ISSN1672-4305 CN12-1352/N实验室科学LABORATORY SCIENCE第15卷第5期2012年10月Vol.15No.5Oct.2012基于LabVIEW和MATLAB混合编程的信号与系统实验教学范哲意,何冰松,刘志文(北京理工大学信息与电子学院,北京100081)摘要:将基于LabVIEW和MATLAB混合编程的虚拟实验技术引入信号与系统课程实验教学,提供了一种有效的实验手段。
以调制与解调实验为例,阐述了实验的过程与实现方法,并给出实验结果。
关键词:虚拟实验;信号与系统;LabVIEW;MATLAB;混合编程中图分类号:TP31文献标识码:B doi:10.3969/j.issn.1672-4305.2012.05.031Mixed programming with LabVIEW and MATLAB forexperimental teaching of signal and systemFAN Zhe-yi,HE Bing-song,LIU Zhi-wen(School of Information and Electronics,Beijing Institute of Technology,Beijing100081,China)Abstract:Virtual experiments technology based on mixed programming with LabVIEW and MATLAB is applied in the experimental teaching of signal and system.It provides an effective mode for experi-mental teaching.The process and methods of this teaching mode are discussed,and a simulation sys-tem of modulation and demodulation is then implemented.Key words:virtual experiments;signal and system;LabVIEW;MATLAB;mixed programming信号与系统是电子信息类专业重要的专业基础课,是一门理论和实际结合紧密的课程。
使用MATLAB进行曲线拟合的步骤与技巧
使用MATLAB进行曲线拟合的步骤与技巧曲线拟合是一种常用的数学方法,用于生成一个与给定数据点集最匹配的曲线。
MATLAB是一种强大的数值计算软件,提供了多种工具和函数,可用于进行曲线拟合。
本文将介绍使用MATLAB进行曲线拟合的步骤与技巧,帮助读者更好地理解和使用该工具。
1. 数据准备在进行曲线拟合之前,首先需要准备好要拟合的数据。
这些数据可以是实验测量得到的,也可以是从其他来源获得的。
确保数据的质量和准确性对于得到好的拟合结果至关重要。
将数据保存在一个.txt或.csv等常见格式的文件中,以便后续导入MATLAB进行处理。
2. 导入数据将准备好的数据导入MATLAB中是进行曲线拟合的第一步。
使用MATLAB内置的导入函数,如`csvread`或`dlmread`,可以轻松地从文本文件中导入数据。
如果数据保存在Excel文件中,可以使用`xlsread`函数进行导入。
确保正确指定文件路径和文件名,以及数据在文件中的位置。
3. 数据可视化在进行曲线拟合之前,建议先对数据进行可视化,以更好地理解数据的特点和趋势。
使用MATLAB的绘图函数,如`plot`或`scatter`,可以将数据点绘制在坐标轴上。
通过观察数据的分布和走势,可以作出一些初步的判断,如选择适当的拟合函数类型。
4. 选择拟合函数选择适当的拟合函数是曲线拟合的关键步骤。
不同的数据集可能需要使用不同类型的函数进行拟合。
MATLAB提供了多种内置的拟合函数,如多项式拟合、指数拟合、幂函数拟合等。
可以使用命令窗口中的`help`命令来查找和了解这些函数的用法和参数设置。
5. 执行拟合在选择拟合函数后,可以执行拟合操作。
MATLAB提供了各种拟合函数,如`polyfit`、`fittype`和`fit`等,用于实现不同类型的拟合。
使用合适的函数,根据数据和所选的拟合函数类型,进行参数估计和模型拟合。
根据拟合结果,可以得到拟合曲线的参数和拟合曲线本身。
使用Matlab进行曲线拟合
使用Matlab进行曲线拟合引言在科学研究和工程应用中,曲线拟合是一个非常常见和重要的问题。
通过拟合实验数据或者观测数据,我们可以找到一条曲线,以最佳地描述数据的趋势。
Matlab是一个功能强大的数值计算软件,提供了丰富的工具和函数,可以帮助我们对数据进行曲线拟合。
本文将介绍如何使用Matlab进行曲线拟合,并给出一些实际案例。
一、简单线性回归简单线性回归是曲线拟合中最基础的一种方法。
它假设数据可以用一条直线来表示。
在Matlab中,使用"polyfit"函数可以很方便地进行简单线性回归。
该函数可以从数据中拟合出一个多项式,我们可以选择线性多项式来进行简单线性回归。
下面是一个例子:```matlabx = [1, 2, 3, 4, 5];y = [2, 3, 4, 5, 6];p = polyfit(x, y, 1);f = polyval(p, x);plot(x, y, 'o'); % 绘制原始数据点hold on;plot(x, f, 'r-'); % 绘制拟合曲线```在这个例子中,我们有一个包含5个数据点的数据集,分别存储在向量"x"和"y"中。
通过polyfit函数,我们可以拟合出一个线性多项式的系数"p",然后使用polyval函数来计算拟合曲线上各个x点对应的y值。
最后,使用plot函数将原始数据点和拟合曲线绘制在同一张图上。
这样我们就可以直观地看到拟合效果。
二、非线性曲线拟合除了简单线性回归,Matlab还提供了许多其他方法来进行非线性曲线拟合。
这些方法通常需要指定一个函数形式,然后通过调整函数的参数来拟合数据。
其中最常用的方法之一是最小二乘法。
在Matlab中,可以使用lsqcurvefit函数来进行非线性曲线拟合。
下面是一个例子:```matlabx = [1, 2, 3, 4, 5];y = [5.1, 6.2, 7.1, 8.5, 9.9];f = @(c,x) c(1) * exp(-c(2)*x) + c(3); % 定义拟合函数c0 = [1, 1, 1]; % 初始参数猜测c = lsqcurvefit(f, c0, x, y); % 进行曲线拟合plot(x, y, 'o'); % 绘制原始数据点hold on;plot(x, f(c, x), 'r-'); % 绘制拟合曲线```在这个例子中,我们有一个包含5个数据点的数据集,存储在向量"x"和"y"中。
LabVIEW与Matlab溷合编程
LabVIEW与Matlab混合编程一.实验目的1.了解LabVIEW的外部程序接口2.掌握在LabVIEW中调用Matlab的方法二.实验器材1.计算机一台2.LabVIEW8.20软件一套3.Matlab7.0软件一套三.实验原理LabVIEW作为一种强大的图形化编程语言,具有友好的界面、方便的仪器连接控制和高效的网络通信能力,但在一些更具体复杂的领域,如神经网络、模糊控制、图像处理等方面就有点力不从心。
Matlab作为一种高效的工程计算语言,它将计算、可视化和编程集于一身,具有强大的计算、仿真和绘图等功能。
Matlab是一个交互式系统,它代表“矩阵实验室”(Matrix Laboritry),它是以线性代数软件包LINPACK和特征值计算软件包EISPACK中的子程序为基础发展起来的一种开放型程序设计语言,其特征在于提供了丰富的工具箱(Toolboxes)。
工具箱是Matlab函数的子程序,每一个工具箱都是为某一个学科专业和应用而定制的,主要涉及数值分析、信号处理、图像处理、仿真、自动控制、生物等领域,应用广泛,但在界面开发上的功能不如LabVIEW强大。
因此可以将两者结合起来,以充分利用两者的优点,方便解决各个领域的仪器连接和数学分析等问题。
本实验通过介绍Matlab脚本节点的用法,来调用Matlab实现LabVIEW和Matlab的混合编程。
1.Matlab脚本节点的介绍Matlab脚本节点位于函数面板的“数学→脚本与公式→脚本节点→Matlab脚本节点”。
由于Matlab脚本节点中的脚本完全是Matlab中的M文件,运行Matla脚本节点时会启动Matlab,并在Matlab中执行脚本内容,其支持的函数由Matlab 来提供。
Matlab脚本节点可以通过增加输入输出端子来实现LabVIEW和Matlab脚本节点交互数据。
方法为:右击节点边框,选择Add Input或者Add Output选项;可以手动输入M文件,也可以导入或者导出M文件。
MATLAB与labview联合仿真方法
MATLAB与labview联合仿真方法鉴于LabVIEW和MATLAB的优点,本文介绍了通过ActiveX技术,在LabVIEW(Ver6.1)中调用和操作MATLAB(Ver6.5)的方法,实现LabVIEW和MATLAB的混合编程,充分发挥两者的优势。
先说一下两种方法的优缺点:2.3 两种调用方法的比较(1)MATLAB Script节点具有多输入、多输出的特点,一次处理的信息量要以很大。
MATLAB 脚本可以先在MATLAB下调试。
无误后再导入到MATLABSeript节点中。
MATLAB Script节点对输入、输出数据的类型有明确的要求。
只有LabVIEW中的数据类型与MATLAB中的数据型相匹配,才能进行数据传输。
使用MATLAB Script节点的方法,快捷方便,但不利于较大的应用程序开发。
当需要使用时,可将其模块化,采用主程序动态加载。
(2)使用ActiveX函数模的方法,具有对MATLAB更强的控制能力。
如随时打开和关闭MATLAB,隐藏在务栏中的MATLAB图标,与MATLAB进行字符数组传输,这些都是MATLAB Script节点都不具有的。
使用ActiveX函数模板时,经常会遇到数据类型的转换,尤其是变体(Variant)与其他类型的转换。
当高用大型算法时,必须明确输入、输出数据的具体类型,而且要尽量减少数据传输量和启动MATLAB自动化服务器的次数ActiveX函数模板,适于较大的应用程序开发。
在LabVIEW顺序结构中,不提供使用。
原因是顺序结构妨碍了作为LabVIEW优点之一的程序并行运行机制,而且MATLAB自动化服务器启动也需要一定时间,这会使整个程序不能及时处理其它的用户操作。
总之,两种调用方法其自身的优势和不足。
在开发一个大的复杂应用程序时,综合不同的应用要求,合理选择可以显著提高开发效率。
采用虚拟仪器技术,通过LabVIEW构建测试仪器开发效率高、可维护性强、测试精度、稳定性和可靠性能够得到充保证;具有很高的性价比,节省投资,但于设备更新和功能扩充。
MATLAB与LabVIEW连用
我需要matlab程序可以在labview里面实现根轨迹和nyquist的图谢谢809534794@检举|2011-05-16 14:21 咖啡凉了1989|分类:其他编程语言|浏览201次提问者采纳2011-05-18 17:48你是要混合编程吗?追问恩,是的。
是做一个自动控制原理虚拟实验系统设计。
要用到labview的回答在labVIEW中有这个节点,你可以直接调用编一个程序,实现基于神经网络的旋转机械故障诊断。
故障有:质量不平衡、转子不对中、转子径向摩擦、油膜振荡、油膜涡动、转子轴向摩擦、轴承座松动、轴裂纹提问者采纳2010-05-25 22:38可以调用MATLAB节点,把你所需要的基本功能放到MATLAB中实现,然后把需要连接到labview的数据利用接口输出或输出。
注意接口的名称和matlab中变量名称相同,并且要设定好相应的数据类型。
LabVIEW是图形化编程语言,更直观,适合图形化仿真。
Matlab是工具,其中仿真模块已经被LabVIEW收购。
仿真的话使用LabVIEW更方便,直观,其自带的功能模块可以满足大部分的常规仿真的需要。
典型的应用就是工厂的控制系统尤其在汽车等全自动领域应用很广,LabVIEW 主要是其自己研制的板卡兼容性很好,比如有些手机代理生产商使用的测试手段基本上就是基于LabVIEW的板卡完成的,其次对串口等接口也有很好的支持,就是那个大大的驱动程序包让人很头疼的。
输入输出关系应该是对的不知道那位高手能帮我解答下谢谢提问者采纳检举|2011-06-17 14:481.右击IE图标——属性——高级——选中“禁用脚本调试”,取消“显示每个脚本错误的通知”;2.右击我的电脑图标——属性——高级——错误报告——选中“禁用错误报告”。
还不行,就------------请不要盗用我的答案!!一号方案【新P】注意【原创】:1.安全模式下,效果更好!2. 以下所要使用的软件,都要安装或升级到最新版本,以保证使用的效果。
Matlab中的曲线拟合与曲线绘制技巧
Matlab中的曲线拟合与曲线绘制技巧引言:Matlab是一款强大的科学计算软件,广泛应用于各个领域。
其中,曲线拟合和曲线绘制是Matlab中常用的功能之一。
本文将介绍在Matlab中进行曲线拟合的方法和技巧,并探讨曲线绘制的一些技巧,以帮助读者更好地利用Matlab进行数据分析和可视化。
一、曲线拟合的背景和意义曲线拟合是通过数学模型对给定数据进行逼近的过程。
在实际应用中,我们经常需要将实验或观测数据与理论模型相拟合,以从数据中提取有用的信息和规律。
曲线拟合在工程、物理、生物、经济等领域都有着重要的应用。
Matlab提供了丰富的工具和函数,使得曲线拟合变得更加便捷和高效。
二、常见的曲线拟合方法在Matlab中,有多种曲线拟合方法可供选择,如多项式拟合、指数拟合、幂函数拟合、对数函数拟合等。
根据不同的实际需求和数据特点,选择合适的拟合方法十分重要。
下面将介绍几种常见的曲线拟合方法。
1. 多项式拟合多项式拟合是一种广泛应用的拟合方法,其基本思想是利用多项式函数逼近原始数据。
在Matlab中,可以使用polyfit函数进行多项式拟合。
该函数使用最小二乘法进行拟合,可以灵活地选择多项式的阶数。
2. 指数拟合指数拟合适用于指数函数关系的数据拟合。
在Matlab中,可以使用fittype函数和fit函数进行指数拟合。
fittype函数用于定义指数函数模型,fit函数则用于实现拟合操作。
3. 幂函数拟合幂函数拟合适用于幂函数关系的数据拟合。
Matlab中的polyfit函数同样适用于幂函数拟合,只需要对数据进行适当的变换即可。
4. 对数函数拟合对数函数拟合适用于对数函数关系的数据拟合。
同样可以使用fittype函数和fit 函数进行对数函数拟合。
也可以使用polyfit函数对数据进行适当的转换后进行拟合。
三、曲线绘制的技巧在进行曲线拟合之后,绘制曲线可以更直观地展示拟合结果和数据分布。
Matlab提供了丰富的绘图功能,以下介绍几种常用的绘图技巧。
基于labview和matlab混合编程的实时自适应滤波系统
12
阅陨粤晕在陨 悦匀粤晕孕陨晕 运耘运粤韵X陨晕郧 再哉 匀哉粤晕允I晕郧 杂匀陨再粤晕
第1期
任静宜等院 基于 LabVIEW 和 MATLAB 混合编程的实时自适应滤波系统
0 引言
目前袁 在信号降噪滤波过程中袁 自适应滤波 器的使用非常广泛袁 该滤波器不需要关于输入信 号的先验知识袁 而是依靠递归算法进行运算袁 在 不能得到有关信号特征的完整知识的环境下袁 逐 渐地估计出所需要的统计特性袁 特别适用于实时 处理遥 自适应算法主要有最小均方误差算法 渊LMS院 Least Mean Square冤 和递推最小二乘算法 渊RLS院 Recursive Least Square冤 两种基本的算法 [1]遥 LMS 算法与模型无关袁 跟踪特性较好袁 结构相对 简单袁 运算量较小袁 是目前使用得最广泛的自适 应滤波算法遥 在实际工程应用中袁 硬件实现算法 时袁 需考虑硬件的面积尧 成本尧 速度和功耗等因 素袁 虽然 RLS 算法收敛速度较快袁 但需要大量的 数学计算袁 在硬件实现上复杂度较高 [2]遥 而 LMS 算法计算简单袁 仅需要 2N+1 次乘法和 2N 次加法遥 因此目前仍以 LMS 算法为主袁 并在近年出现了数 据 块 最 小 均 方 误 差 渊 BLMS院 Block Least Mean Square冤 算法和快速块最小均方衰减 渊FBLMS院 Fast Block Mean Square冤 算法袁 用于减小自适应滤波器 的计算复杂程度并改善传统 LMS 算法的不足 [3]遥
theexperimentalresultsshowthattherealtimesoundsignalnoiseisprocessedintimeandtheefficiencyofrealtimesoundrecognitionisimprovedafterpassingthefilteringsystemkeywords院labview曰matlab曰hybridprogramming曰adaptivefilter曰lmsalgorithm曰dllfiles收稿日期院20190528作者简介院任静宜渊1998冤袁女袁山东潍坊人袁南昌航空大学测试与光电工程学院袁主要研究方向为信号处理遥通信作者院龙盛蓉渊1979冤袁女袁湖北荆州人袁南昌航空大学讲师袁博士袁主要从事传感器与信号处理方面的教学与研究工作遥电子产品可靠性与环境试验耘蕴耘悦栽砸韵晕陨悦孕砸韵阅哉悦栽砸耘l陨粤月陨蕴i栽再粤晕阅耘晕灾陨r韵晕酝耘晕栽粤蕴栽耘杂栽陨晕郧计算机科学与技术阅陨粤晕在陨悦匀粤晕孕陨晕运耘运粤韵x陨晕郧再哉匀哉粤晕允i晕郧杂匀陨再粤晕12阅陨粤晕在陨悦匀粤晕孕陨晕运耘运粤韵x陨晕郧再哉匀哉粤晕允i晕郧杂匀陨再粤晕第1期图1自适应滤波器的原理图fir横向数字滤波器x渊n冤lms自适应算法y渊n冤e渊n冤d渊n冤移0引言目前袁在信号降噪滤波过程中袁自适应滤波器的使用非常广泛袁该滤波器不需要关于输入信号的先验知识袁而是依靠递归算法进行运算袁在不能得到有关信号特征的完整知识的环境下袁逐渐地估计出所需要的统计特性袁特别适用于实时处理遥自适应算法主要有最小均方误差算法渊lms院leastmeansquare冤和递推最小二乘算法渊rls院recursiveleastsquare冤两种基本的算法1遥lms算法与模型无关袁跟踪特性较好袁结构相对简单袁运算量较小袁是目前使用得最广泛的自适应滤波算法遥在实际工程应用中袁硬件实现算法时袁需考虑硬件的面积尧成本尧速度和功耗等因素袁虽然rls算法收敛速度较快袁但需要大量的数学计算袁在硬件实现上复杂度较高2遥而lms算法计算简单袁仅需要2n1次乘法和2n次加法遥因此目前仍以lms算法为主袁并在近年出现了数据块最小均方误差渊blms院blockleastmeansquare冤算法和快速块最小均方衰减渊fblms院fastblockmeansquare冤算法袁用于减小自适应滤波器的计算复杂程度并改善传统lms算法的
基于Labview与Matlab联合编程的路谱模拟设计
基于Labview与Matlab联合编程的路谱模拟设计本文介绍了路谱模拟系统的系统结构与组成形式,以Labview软件作为开发工具实现了系统软件的操作简便性,可视化性,精确性,并重点介绍了基于Labview与Matlab节点的设计方法。
最后通过实验台架的测试验证了此系统的有效型与可靠性。
路谱模拟系统可以在试验室内模拟再现整车在实际路面上行驶的运行工况,从而完成对汽车零部件性能检测的试验项目。
精确、可靠的道路模拟系统可以缩短新产品的开发周期,降低开发成本,提高产品开发质量。
Labview软件具有设计界面友好、手工编码少的优点,而matlab软件具有强大的数学处理计算能力。
本文结合这两种开发环境的优势,以某公司试验室的激振实验台为基础研究对象,采用软件联合的方法,开发设计了路谱模拟系统。
2.1 系统简介路谱模拟系统的总体设计主要包括硬件和软件两个部分。
硬件的主要功能在于可靠地实现路谱信号的传递、执行,并且确保试验过程安全、稳定。
硬件主要包括车辆激振台、功率放大器、USB数据采集器、加速度传感器、力传感器以及连接各个模块的线缆。
软件的主要功能是生成路谱信号,标准信号或随机信号并提供可视化界面供操作人员实现对试验任务的设置、开始与停止。
其中软件的`设计采用了结合了Labview和Matlab的联合编程方法。
系统的工作过程描述为:由试验人员设定试验车辆数据、路面等级、车速等参数,由软件模拟器对相应的参数计算得到对应的路面谱时域信号数据,将生成的信号以数组的形式下载给USB3020数据采集器,数据采集器进行模拟输出,经过功率放大器的电压转换作用,以电压的形式控制激振台动作,安装在被测车辆上的加速度和力传感器将振动数据传给控制台监视软件来检测数据的可靠与正确性。
2.2 基于Labview的路面模拟系统界面实现本文以软件的操作简便性,可视化性,数据生成精确性为设计目标,基于Labview对路面谱模拟程序进行实现。
Matlab和LabVIEW混合编程的实现
欢迎订阅欢迎撰稿欢迎发布产品广告信息E I C Vo l .15 2008 No.2 101 图3 Soble 算子处理图 图4 二值图 3 二值化整幅图像画面仅有黑白二值的图像就是二值化图像。
二值化的目的是将采集得到的多层次灰度图像处理成二值图像,以便于分析理解和识别并减少计算量。
对图像进行二值化处理的关键是阈值的合理选取。
阈值设置过小易产生噪声;阈值设置过大会降低分辨率,使非噪声被视为噪声而滤掉[5]。
本文采用的是最优阈值原理:统计每幅图像灰度的分布特性,利用类别方差作为判据,选取使类间方差最大值作为选定的阈值。
二值图如图4所示。
4 结束语本文通过对运动车辆的视频进行中值滤波,Soble 算子提取图像的边缘信息,接着进行二值化处理,为以后的识别提供了良好的基础。
利用VC ++编制人机交互友好界面,实现数字逻辑变换及道路图像处理。
该算法具有良好的实时性和可靠性。
□参考文献[1]布洛基,布图兹等.智能车辆[M ].人民交通出版社,2002.11.[2]高守传,姚领田等.V isual C ++实践与提高[M ].中国铁路出版社,2005.12.[3]王晓东,丁冬花.实时车辆检测和跟踪系统设计[J ].微计算机信息,2006,11(2):237-239.[4]王艳春,李建军,何鹏,尹明.公路交通管理中行驶车辆自动识别技术研究[J ].微计算机信息,2006,11(2):193-195.[5]王荣本,游峰,崔高峰等.基于计算机视觉高速车辆的道路识别[J ].计算机工程与应用2004,9(26):18-21.作者简介:胡会珍(1983-),女,汉族,硕士,主要研究方向为控制理论与控制工程,现中北大学在读硕士研究生;黄晋英(1971-),女,汉族,副教授/硕士生导师,主要从事智能控制,模式识别研究。
基金资助:山西省青年科技基金(编号:20051015)收稿日期:2007210230(7672)文章编号:167121041(2008)022*******M a tla b 和La bV I E W 混合编程的实现李霄燕,杨俊宇,赵 佳(长春工业大学电气与电子工程学院,长春130012)摘要:基于M a tla b 强大的计算功能和La bV I EW 的界面良好的特点提出用M a tla b 和La bV I EW 混合编程,将二者有机结合起来,使在锅炉管板焊接中,能够轻松得到不同位置焊接管口的轨迹方程,实现自动焊机对焊接轨迹的良好控制。
基于LabVIEW与Matlab混合编程的复杂曲线精确绘制
基于LabVIEW与Matlab混合编程的复杂曲线精确绘制李静;雍耀维【摘要】精确绘制复杂公式曲线和某些特定的函数曲线相对较为困难,根本原因在于这些复杂线条的坐标点的确定,人工计算和处理耗时耗力.LabVIEW和Matlab混合编程技术应用日益广泛,借助于AutoCAD的脚本文件快速实现在AutoCAD复杂曲线的精确绘制,为工程实践和教学提供了极大的便利.【期刊名称】《宁夏工程技术》【年(卷),期】2015(014)004【总页数】4页(P338-341)【关键词】AutoCAD;LabVIEW;复杂曲线;精确绘制【作者】李静;雍耀维【作者单位】银川职业技术学院,宁夏银川750021;宁夏大学机械工程学院,宁夏银川750021【正文语种】中文【中图分类】TP202在实际的应用中,用AutoCAD绘制平面的一些公式曲线,例如渐开线、心形线和早期版本的螺旋线以及空间线条是比较困难的,传统都是需要对AutoCAD进行二次开发或者利用LISP语言进行程序开发,这些过程常常比较复杂,而且过程繁琐,要求操作人员有很高的数学、制图以及编程能力.随着CAD技术的发展以及逐渐人性化、个性化和趋于傻瓜化的发展趋势,对AutoCAD借用外部手段进行开发利用更加简便.有文献[1—4]通过Excel软件的计算功能,计算出各个数据点,通过复制粘贴,实现AutoCAD或者与Matlab两者结合的方法,该方法完全是由操作人员进行操作,过程中容易出现个别点误操作或者后续中的错误出现,同时过程复杂.有文献[5]给出了一种图元粘贴的方法,将Matlab产生的图形图像作为AutoCAD 的图元粘贴进AutoCAD,不足之处就是需要对生成的图形进行实际校正缩放处理.已经有大量的学者对AutoCAD的VBA二次开发进行了研究,借助于VBA强大的Visual可视化功能和编程功能,也很容易实现复杂曲线和某些特殊功能的实现[6—7].本文的主要目的是另辟蹊径,借助于LabVIEW和Matlab混合编程,快速高效地实现类似的功能.LabVIEW本身是一个功能比较完整的软件开发环境,其编程方式采用图形化编程方式,相互连接的函数节点直接通过数据流控制执行顺序,而且该软件包既可以用于科学研究也可以用于生产实践,其数学工具箱可以实现样条曲线的拟合、坐标变换等功能,方便于实现复杂曲线的生成.精确、高效地计算处理各种公式曲线是当今各个数学工具软件的基本功能,例如Matlab,Maple等,它们可以将曲线或者曲面离散成空间的多个点集,然后对其进行拟合或者相关操作.LabVIEW可以和Matlab语言进行无缝连接,可以高效处理数学计算和图形的问题,对于某些公式曲线,可以直接通过写入简单的公式来达到目的.因此,如何借助于LabVIEW实现复杂曲线在AutoCAD中的生成是本文所要研究和解决的问题.虽然有一些函数曲线在数学表达中很简单,但是在AutoCAD中直接绘制则相对较为困难,例如二次函数曲线、三角函数曲线等,其主要难点在于生成曲线的诸多节点的坐标的选取,一般采用插值法将曲线细分.如果一条曲线起始点为xstart,终止点为xend,设置增量为xinc,则分割份数为式中,i是分割份数,同时也是最终点的数目.如果i过小,则曲线根据拟合方法的不同,会出现失真或者与不光滑的现象.随着计算机技术的发展,一般曲线i值都可以取的大一些.对于复杂和有特殊要求的曲线,可以根据其实现的功能或者要求对函数进行数学描述,如渐开线曲线.根据渐开线的生成理论以及性质可知,发生线n-n在基圆上做纯滚动时,直线上任一点K所经过的轨迹线AK记为渐开线(图1).根据性质可知,ON总是垂直于NK,记∠AON=φ.基圆半径为rb,设K点坐标为(xk,yk),其中θk,αk分别为展角和压力角.根据文献[8]可知:最终根据式(4)和式(5)对曲线进行描述处理,得到细分后的曲线坐标点.1.1 简单曲线的生成在LabVIEW前面板中可以设置其起始和终止值以及增量和过渡方式,人机界面友好且直观.图2是设计的简易操作面板.运行程序后,会提示用户将SCR文件保存,同时也可以在前面板中产生所需的曲线.然后可以在AutoCAD 2012中管理模块中“运行脚本”,选择通过程序产生的文件,就可以在AutoCAD中绘制所需的曲线. 在程序框图中需要对产生的曲线进行数学处理,处理二次函数的数据流框图见图3.在循环体内处理数据后将数据输出并显示和保存,图形的显示模块和对数据的文本转换以及保存模块见图4.分割后,将每一点的坐标数据输出存储到AutoCAD可以识别的SCR文件中,点数越多则图形越接近真实图形,过渡也就越光滑.利用LabVIEW自身的VI块计算函数输入和输出之间的对应关系,然后通过细分函数曲线,根据实际需要设置细分增量,来达到快速有效且不失真的目的.由于将曲线分割成份,然后互相连接拟合,最简单的方式就是通过直线(line)方式连接,但如果份数较少,直线连接会有很明显的停滞感;还可以用样条(spline)进行曲线连接,这样得到的曲线可以光滑过渡.不同的连接方式和份数在AutoCAD中绘制的余弦函数曲线效果比较见图5.在该研究中,所有的绘制都是基于坐标原点进行的,在实际的操作中,可以通过平移、复制、阵列等操作方式来实现具体的定位功能.当然,也可以在LabVIEW中直接进行偏移设置,文中不在赘述.1.2 复杂图形处理在实际应用过程中,通常还会出现一些比较复杂的数学图像,如心形线、星形线等复杂参数曲线,在AutoCAD中是很难直接绘制的.图6给出了绘制心形线的数学处理模块,其中借助了MathScript节点来对曲线函数进行描述.MathScript节点类似于Matlab编辑和执行数学命令并创建数学脚本,以及查看变量的数值和图形化表示,可以通过对数学函数处理输入的变量求解输出变量,之后将输入和输出进行配对输出,就可以得到曲线的坐标数值.假设心形线的函数为通过定义输入参数t和细分常数i,以及角度输入起始值和终止值即可.图7给出了在LabVIEW模块中显示出来的图形和导入SCR文件在AutoCAD中直接绘制出来的心形线.1.3 精确绘制齿轮众所周知,最常用齿轮的廓线绝大部分都是渐开线,而渐开线齿廓的精确绘制一直都是一个难点.现有的AutoCAD以及很多的CAD普通模块都不支持直接绘制渐开线,大部分都是用圆弧线直接代替渐开线,其缺点就是无法形成系列化和参数化的设计和修改,也无法直接获得渐开线齿廓的几何数据.采用LabVIEW和MathScript模块,对渐开线进行精确数学描述,并细分廓线来绘制,可做到精度可调,如参数化的齿轮设计.根据齿轮的参数,简单设置前面板(图2),并通过MathScript脚本节点将表达式以函数公式表述,并将输出至SCR文件保存(图8).绘制m=2,z=50齿轮,计算可得到其分度圆直径 D=mz=100 mm,基圆直径为Db=Dcos 20°= 93.969 mm.通过LabVIEW处理得到的SCR脚本导入到AutoCAD中,并绘制基圆、分度圆以及齿顶圆和齿根圆,而后通过齿数分度、阵列得到最终的相互啮合的齿轮组(图9).本文采用LabVIEW和Matlab脚本节点生成SCR文件,在AutoCAD中通过调用SCR文件进行了复杂曲线的精确绘制.这种方法实用性很强,Matlab脚本节点对输入输出数据的信息处理量可以很大,但不足之处就是在使用过程中,要注意数据类型的匹配.所以这种方法使用快捷方便,但在大型程序开发略有不足,可以将其进行相应模块化和结构化来满足要求.本文对其功能的实现做了相应的研究和应用,表明这种混合方法在复杂曲线的实现上具有可行性和便捷性,可以适用于许多的工程应用场合和实际的教学过程.【相关文献】[1]张海宁,车向前.基于AutoCAD的复杂曲线绘制的实现[J].煤矿机械,2003(1):48-49.[2]刘永强,刘志琪.Excel软件在AutoCAD绘图中的辅助应用[J].电脑知识与技术,2008,4(7):2022-2023.[3] 和平安,许焱平.AutoCAD结合MATLAB实现公式曲面的精确绘制[J].新技术新工艺,2005(8):9-10.[4] 王蔚.基于MATLAB生成的SCR文件实现AutoCAD中复杂曲线/曲面的绘制[J].电脑知识与技术,2012,8 (14):3439-3442.[5]贺云花,胡福文,戴葆青.Matlab在钣金展开中的应用[J].机械工程师,2007(6):76-77.[6]符裕红,张代杰.基于AutoCAD VBA二次开发的压力管道设计[J].节水灌溉,2011(8):73-76.[7]吉丽.基于AutoCAD VBA技术的机械制图试题库的开发[J].机械工程与自动化,2007(1):49-51.[8]李柱国.机械设计与理论[M].北京:科学出版社,2003.。
基于LabVIEW联合MATLAB实时拟合曲线软件的设计
基于LabVIEW联合MATLAB实时拟合曲线软件的设计
时博;孙佰顺;王晓军
【期刊名称】《吉林医药学院学报》
【年(卷),期】2014(000)006
【摘要】日常生活的信息大部分是利用各种传感器进行数据采集的数据中获得的。
采集的数据看起来是一些杂乱无序的数据或者用肉眼无法从中获得想要的信息,这时,可以对采集的数据进行曲线拟合,通过曲线,便可以更容易了解采集数据的信息,进而,对未知的数据点进行预测。
文章设计的曲线拟合软件,利用LabVIEW 软件实时将采集数据库中的数据调出,对调出的数据利用MATLAB软件对数据进行预处理以及曲线拟合,从而实现对采集数据实时曲线拟合。
【总页数】2页(P456-457)
【作者】时博;孙佰顺;王晓军
【作者单位】吉林医药学院附属465医院,吉林吉林 132013;吉林医药学院附属465医院,吉林吉林 132013;吉林医药学院附属465医院,吉林吉林 132013
【正文语种】中文
【中图分类】TP311
【相关文献】
1.基于LabVIEW与MATLAB的γ能谱合成软件设计 [J], 杨文静;殷经鹏;申茂泉;
成智威
2.基于LabVIEW7.0的某实时监控软件设计与实时性分析 [J], 程娟;覃燕
3.基于LabVIEW联合MATLAB实时拟合曲线软件的设计 [J], 时博;孙佰顺;王晓军;
4.基于LabVIEW和Matlab的通用滚子直动凸轮CAD/CAM软件设计 [J], 方洁;谢征恒;吴文英
5.基于LabVIEW的超导状态实时电压与温度监测软件设计 [J], 周强;应竞帆
因版权原因,仅展示原文概要,查看原文内容请购买。
Labview和matlab混编软件在labview环境下进行可执行化的方法
Labview和matlab混编软件在labview环境下进行可执行化的方法一、问题的提出:Labview下对matlab程序(m文件)的调用采用ActiveX技术,该技术不能脱离matlab运行环境。
为解决问题,尝试将m文件编译成dll文件,将Labview对m文件的调用变为Labview对dll文件的调用。
但由于研究过程出现的问题和时间的关系,这一问题并未得到解决。
在此作一总结,以便后续工作继续进行。
二、问题的确立:在本文档中,主要针对在Labview环境编写的软件进行可执行化的讨论,该软件包含了使用matlab节点或ActiveX机制的matlab函数。
因此,在Labview环境下对软件进行可执行化的主要包含了三个方面的内容:1.把matlab下编的m文件编译成可被Labview调用的文件形式。
例如:动态链接库(dll)、COM组件等。
本文档主要对动态链接库方式进行讨论,其它方式将在附录中简要说明。
2.在Labview下对动态链接库(dll)文件进行调用3.在Labview下,将含有dll的VI生成安装文件。
该文件可在脱离matlab和labview的目标机上安装、运行。
以上三个步骤如全部完成,则可以说明该应用程序已可以独立的运行发布了。
三、问题的解决方法及过程:下面将详细的讨论每个步骤的具体解决方法和过程,以供参考。
1.把matlab下编的m文件编译成可被Labview调用的文件形式(dll).解决本问题的方法,在不同的matlab版本中是不同的,在此将对在matlab6.5和matlabr2007a(7.4)两个版本下的方法作一说明。
在Matlab6.5版本中,可以通过两种方式将m文件编译成dll文件。
一种是利用matlab为Visual C++发布的一个插件add-in,在Visual C++的环境下,将m文件编译成dll文件。
另一种则是使用mcc命令行的方式对m文件直接进行编译,生成dll文件。
LabVIEW在曲线拟合中的应用研究
LabVIEW在曲线拟合中的应用研究
李继容
【期刊名称】《五邑大学学报(自然科学版)》
【年(卷),期】2004(018)003
【摘要】介绍了LabVIEW中用于曲线拟合的子模块,对各子模块的曲线拟合理论作了介绍,重点介绍了非线性Lev-Mar 拟合理论,并以例子辅助说明.
【总页数】7页(P57-63)
【作者】李继容
【作者单位】五邑大学,信息学院,广东,江门,529020
【正文语种】中文
【中图分类】TP274
【相关文献】
1.多线函数法在曲线拟合中的应用研究 [J], 李新颖;刘凯;黄海燕
2.基于LabVIEW的高精度曲线拟合在异步电机试验中的应用 [J], 黄睿
3.基于LabVIEW的曲线拟合应用研究 [J], 李涛;张一;张红朋;柴敬安
4.广义延拓法在目标航迹曲线拟合中的应用研究 [J], 徐金龙; 李晓龙; 程海涛; 章宇航; 范海洲; 黄楷
5.基于最小二乘法的曲线拟合及其在Matlab中的应用研究 [J], 程良萍;万美华因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于LabVIEW联合MATLAB实时拟合曲线软件的设计时博,孙佰顺,王晓军(吉林医药学院.附属465医院 132013)摘要:在数据采集时,如需了解数据的走向以及对未知点数据预测,通常需要对采集的数据进行实时曲线拟合。
根据LabVIEW 软件所见即所得的编程功能,联合MATLAB软件强大的数据处理功能设计一套能实时对采集数据库的数据进行实时曲线拟合的软件。
结果表明该软件操作简单,实时性强,能较好的实现对数据的实时曲线拟合。
关键词:LabVIEW;MATLAB;实时曲线拟合;数据预测Design of real-time curve fitting software based on LabVIEW combined with MA TLABShi Bo,Sun,Bai-shun,Wang Xiao-jun(The 465 Affiliated Hospital of Jinlin Medical college ,Jilin 132013,China)Abstract: In data collection, such as the need to understand the data and the trend of the unknown data prediction, usually requiring real-time curve fitting of data. According to the LabVIEW software WYSIWYG programming function of MA TLAB software, combined with the powerful data processing function, design a set of real-time data collection of database for real-time curve fitting software. The results show that the software has the advantages of simple operation, strong real-time, can realize the real-time curve fitting the data better.Keywords:LabVIEW;MATLAB; Real time curve fitting;Data prediction1引言我们日常生活的信息,大部分是利用各种传感器进行数据采集的数据中获得的。
采集的数据可咋看起来是一些杂乱无序的数据或者我们肉眼无法从中获得想要的信息,这时,可以对采集的数据进行曲线拟合,通过曲线,便可以更容易了解采集数据的信息,进而,对未知的数据点进行预测。
文章设计的曲线拟合软件,利用LabVIEW软件实时将采集数据库中的数据调出,对调出的数据利用MATLAB软件对数据进行预处理以及曲线拟合,从而实现对采集数据实时曲线拟合。
2 LabVIEW与数据库的连接LabVIEW与数据库连接需要选择合适的接口,才能利用LabSQL访问工具包对采集数据库的最新数据数据进行调取[1],以实现实时曲线拟合。
2.1 LabVIEW中与数据库接口的方法目前LabVIEW版本尚没有提供与数据库连接的直接接口, 但LabVIEW访问数据库可以使用以下几方法进行解决:(1)使用NI 公司生产的附加的付费工具包LabVIEW SQL Toolkit对数据库访问。
但这种工具包由于价格较贵,很难被广大LabVIEW用户来讲接受。
(2)使用编程语言如C语言编写DLL(Dynamic Link Library)程序,然后使用LabVIEW自带的DLL接口来访问DLL程序,这样便可实现对数据库的间接访问。
这种方法虽不需付费,但由于工作量太大,而且需要较高的编程能力,也很难被广大用户所接受。
(3)使用LabVIEW的ActiveX功能进行访问数据库,它是调用Microsoft ADO(ActiveX Data Objects)控件,使用SQL语言来实现对数据库的访问。
这种方方法要求使用者需对Microsoft ADO 控件以及SQL 语言有一定的了解,且需从底层进行编程方可实现对数据库的访问。
这对多数用户来说也是不可能实现的。
(4)使用LabVIEW用户自行研发的LabVIEW 数据库访问工具LabSQL。
LabSQL是将对底层ADO复杂的编程及SQL操作封装为一系列的LabSQL子VI,用户在使用时只需调用这些子VI就可实现对数据库的访问,它与很多数据库都兼容, 如Access、SQL Server、Oracle、等,且操作简单易用,无需任何费用,被广大用户所接受。
2.2数据源名DSN的创建LabVIEW与数据库的连接工具包是基于ODBC(Open Database Connectivity)技术进行连接的,如图1所示,在使用LabSQL访问数据库之前,需首先创建数据源名DSN(Data Source Names)才能连接到数据采集数据库。
图1 LabSQL连接数据库原理图以文章选用的ACCESS数据库为例,创建DSN的方法为,在“PC机控制面板”中选择“管理工具”,然后在选择“数据源”,进入ODBC数据源管理器,如图2所示。
选择用户DSN选图2 ODBC数据源管理器对话框项卡,点击添加按钮,会弹出数据源驱动选择对话框,然后选择Microsoft Access Driver(*.mdb),如图3所示。
点击“完成”按钮后,如图4所示,会弹出ODBC Microsoft Access 安装窗口,图3 数据源驱动对话框在数据源明内填入一个数据源名字,比如caijiData,然后在Database栏中单击“选择”按钮选择我们要连接的采集数据库文件,其它参数保持默认,单击“确定”按钮,即完成了DSN的创建。
图4 ODBC Microsoft Access 安装对话框2.3LabSQL连接数据库以粮仓中的温度采集数据库为例,将温度传感器的采集的最新的10条数据,实时从数据库中调到LabVIEW中进行预处理、曲线拟合等操作。
选用ACCESS数据库作为温度采集数据库,其具有操作和维护简单等优点,且能满足该系统需求。
图5、图6为在LabVIEW 中的实时读取采集数据VI的主面板、程序面板。
图5 实时读取数据VI的主面板图6 实时读取数据VI的程序面板如图5,LabVIEW读取的数据库中最新10条数据。
由图6可知它主要通过数据初始化、读取最新10条数据、字段名赋值、实时数据显示四个部分完成的。
数据初始化包括创建ADO连接数据连接符“DSN = caijiData;”;读取最新10条数据的SQL命令“select top 10 * from T-caji order by 序号 DESC”;旧数据清零(将上一次调入得数据清零)。
读取最新10条数据是利用已创建好的一系列LabSQL子VI读取数据,首先创建一个连接对象,然后将ADO连接数据连接符“DSN = caijiData;”输入打开ADO连接子VI,将SQL命令“select top 10 * from T-caji order by 序号 DESC”输入到ADO查询子VI,这样就可读取采集数据库中的最新10数据,最后使用ADO连接关闭子VI关闭ADO连接。
字段名的赋值主要作用就是将读取的数组的每一列赋予给它原来采集数据库中的字段名字。
实时数据显示就是将字段名赋值的最新数据实时以表格的形式进行显示。
3数据曲线拟合从采集数据库得到的数据,无法直观看出要检测数据的结果,以及未来的走势或对一些,这时通常要对采集的数据进行曲线拟合。
3.1 MATLAB曲线拟合主要方法MATLAB可以用其自带内建函数进行曲线拟合,也可用曲线拟合工具箱进行曲线拟合[2-3]。
这两种方法都可实现线性或者非线性曲线拟合。
(1)曲线拟合工具箱进行线性曲线拟合曲线拟合工具箱是开发者为数据集合进行曲线拟合而专门设计的。
利用工具箱可以进行参数和非参数拟合,这个工具箱集成了用MATLAB 建立的图形用户界面(GUIs)和M文件函数,使其操作极为简单。
(2)内建函数进行线性曲线拟合MATLAB中自身提供了许多函数来进行曲线拟合,如polyfit(多项式数据拟合函数),在MATLAB命令窗口中输入polyfit (X,Y,N),即可对数据X,Y进行拟合N阶多项式系数,它与最小二乘法曲线拟合基本意义上一致的,所以又称其为最小二乘法曲线拟合。
3.2实时数据曲线拟合实现利用LabVIEW中提供的MATLAB脚本编辑器,即可将实时从采集数据库提取的数据进行处理,首先对实时数据进预处理,以去除一些干扰数据,然后根据实际情况选择一种MATLAB曲线拟合方法对数据进行曲线拟合,最后将求出的相关参数传递给LabVIEW 便可以实时观测数据的拟合曲线。
如图7所示,这是对五个仓库的温度采用最小二乘法的实时数据拟合曲线,这样我们便无需通过枯燥的数据,就可以实时观测到各个仓库的实时温度状况。
图7仓库温度实时拟合曲线4结论本文基于LabVIEW软件联合MATLAB强大数据处理功能,设计了一款针对采集数据的实时拟合曲线软件,该软件具有操作简单、易扩展,可用于多种数据检测领域。
软件利用最小二乘法分别对五个仓库的温度进行实时数据曲线拟合,通过仓库温度实时拟合曲线图,可以看出该软件可是实现对采集数据的实时曲线拟合,以实时观测我们要采集的数据状况。
参考文献:[1]尹仁平,刘刚,汪立新等.LabVIEW中的数据库访问[J].电子测量技术,2006,29(3):51-52.[2]曹弋.MATLAB教程及实训[M].北京:机械工业出版社,2012:77-79.[3]汪禹.MATLAB在曲线拟合中的应用科技创新与应用[J],2012,7(2):8-9.。