资源描述:
《labview与matlab混合的编程》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、LabVIEW与MATLAB混合的编程.freelentEngineeringATLAB的优点,本文介绍了通过ActiveX技术,在LabVIEATLAB(Ver6.5)的方法,实现LabVIEATLAB的混合编程,充分发挥两者的优势。图11基本原理ActiveX自动化是基于组件对象模型(ponentObjectModel)的技术,允许应用程序或组件控制另一个应用程序或组件的运行,它包括自动化服务器和自动化控制器。MATLAB支持ActiveX自动化技术。通过使用MATLAB自动化服务器功能,可以在其
2、它应用程序中执行MATLAB命令,并与MATLAB的工作空间进行数据交换。因此可以借助这一特性,把LabVIEATLAB结合,充分利用MATLAB提供的大量高效可靠的算法和LabVIEATLAB在后台提供大型算法供LabVIEATLABScript节点为了简化调用过程,LabVIEATLABScript节点。LabVIEATLAB进程。这样用户就可以很方便地在自己的LabVIEATLAB,包括执行MATLAB命令、使用功能丰富的各种工具箱,如神经网络工具箱(NeuralNetizationToolbo
3、x)。值得注意的是:LabVIEATLAB之间的数据通信仅支持Real、RealVector、RealMatrix、plex、Vectorplex、Matrix六种格式的数据,且必须根据具体情况进行选择。当开发涉及工业控制的应用程序时,常常由于控制参数的非线性变化,而无法建立合适的模型。由于此类问题,神经网络提供了一条有效的解决途径。在LabVIEATLAB脚本程序可以在MATLAB环境下调试,再使用MATLABScript节点导入MATLAB脚本;也可以直接在MATLABScript节点中编写。位于
4、FunctionMathematicsFormula模板中的MATLABScript节点可以导入MATLAB脚本。图1中的脚本程序使用CASE语句进行传递函数和训练算法的选择。MATLABScript节点中神经网络的输入层和隐层之间的权值矩阵inDoublefloatingpointnumericRealtoutericRealVectorpdatainensionalarraydoublefloatingpointnumericRealMatrix在此程序中,得到的BP网络各层的权值矩阵、阈值向量和
5、传递函数三类参非常有用的,它们决定了神经网络的结构与特性。因此当神经网络训练好后,可以直接使用这些参数处理新的数据,得到预测值,而不必重新调用MATLAB。这样程序的运行效率会更高。另一方面,将调试好的神经网络VI创建成一个子VI,作为模块保存,当需要更新网络时,可以随时调用。虽然通过MATLABScript节点进行通信比较易于实现,但以这种方式调用MATLAB时,在任务栏中将出现一个MATLAB图标,单击该图形会打开MATLAB窗口,在其中可以任意输入。通常,这会干扰前台程序的运行,甚至造成程序的崩
6、溃。另一方面,当MATLABScript节点中的脚本执行完后,MATLAB也不能自动关闭。2.2方法二:使用ActiveX函数模板在LabVIEATLAB更多的控制,可以在框图程序中使用LabVIEATLAB(Ver6.5)ActiveX接口提供的8个方法和1个属性:(1)BSTRExecute(inBSTRmand):Execute方法调用MATLAB执行一个合法的MATLAB命令,并将结果以字符串的形式输出。其输入参数mand为字符串类型变量,表示一个合法的MATLAB命令。box)。值得注意的是
7、:LabVIEATLAB之间的数据通信仅支持Real、RealVector、RealMatrix、plex、Vectorplex、Matrix六种格式的数据,且必须根据具体情况进行选择。当开发涉及工业控制的应用程序时,常常由于控制参数的非线性变化,而无法建立合适的模型。由于此类问题,神经网络提供了一条有效的解决途径。在LabVIEATLAB脚本程序可以在MATLAB环境下调试,再使用MATLABScript节点导入MATLAB脚本;也可以直接在MATLABScript节点中编写。位于FunctionM
8、athematicsFormula模板中的MATLABScript节点可以导入MATLAB脚本。图1中的脚本程序使用CASE语句进行传递函数和训练算法的选择。MATLABScript节点中神经网络的输入层和隐层之间的权值矩阵inDoublefloatingpointnumericRealtoutericRealVectorpdatainensionalarraydoublefloatingpointnumericRealMatrix在此程序中,得到的BP