LabVIEW和MATLAB作为本身功能比较完善的软件环境,在各自不同的领域中有着十分广泛的应用。下面小编就详细介绍LabVIEW和MATLA以及它们之间的区别。
一、LabVIEW简介
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
LabVIEW特点:
尽可能采用了通用的硬件,各种仪器的差异主要是软件。
可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。
用户可以根据自己的需要定义和制造各种仪器。
LabVIEW应用领域:
测试测量:LABVIEW最初就是为测试测量而设计的,因而测试测量也就是现在LABVIEW最广泛的应用领域。经过多年的发展,LABVIEW在测试测量领域获得了广泛的承认。至今,大多数主流的测试仪器、数据采集设备都拥有专门的LabVIEW驱动程序,使用LabVIEW可以非常便捷的控制这些硬件设备。同时,用户也可以十分方便地找到各种适用于测试测量领域的LabVIEW工具包。这些工具包几乎覆盖了用户所需的所有功能,用户在这些工具包的基础上再开发程序就容易多了。有时甚至于只需简单地调用几个工具包中的函数,就可以组成一个完整的测试测量应用程序。
控制:控制与测试是两个相关度非常高的领域,从测试领域起家的LabVIEW自然而然地首先拓展至控制领域。LabVIEW拥有专门用于控制领域的模块----LabVIEWDSC。除此之外,工业控制领域常用的设备、数据线等通常也都带有相应的LabVIEW驱动程序。使用LabVIEW可以非常方便的编制各种控制程序。
仿真:LabVIEW包含了多种多样的数学运算函数,特别适合进行模拟、仿真、原型设计等工作。在设计机电设备之前,可以先在计算机上用LabVIEW搭建仿真原型,验证设计的合理性,找到潜在的问题。在高等教育领域,有时如果使用LabVIEW进行软件模拟,就可以达到同样的效果,使学生不致失去实践的机会。
儿童教育:由于图形外观漂亮且容易吸引儿童的注意力,同时图形比文本更容易被儿童接受和理解,所以LabVIEW非常受少年儿童的欢迎。对于没有任何计算机知识的儿童而言,可以把LabVIEW理解成是一种特殊的“积木”:把不同的原件搭在一起,就可以实现自己所需的功能。著名的可编程玩具“乐高积木”使用的就是LabVIEW编程语言。儿童经过短暂的指导就可以利用乐高积木提供的积木搭建成各种车辆模型、机器人等,再使用LabVIEW编写控制其运动和行为的程序。除了应用于玩具,LabVIEW还有专门用于中小学生教学使用的版本。
快速开发:根据笔者参与的一些项目统计,完成一个功能类似的大型应用软件,熟练的LabVIEW程序员所需的开发时间,大概只是熟练的C程序员所需时间的1/5左右。所以,如果项目开发时间紧张,应该优先考虑使用LabVIEW,以缩短开发时间。
跨平台:如果同一个程序需要运行于多个硬件设备之上,也可以优先考虑使用LabVIEW。LabVIEW具有良好的平台一致性。LabVIEW的代码不需任何修改就可以运行在常见的三大台式机操作系统上:Windows、Mac OS 及 Linux。除此之外,LabVIEW还支持各种实时操作系统和嵌入式设备,比如常见的PDA、FPGA以及运行VxWorks和PharLap系统的RT设备。
二、matlab简介
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB优势:
1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;
2) 具有完备的图形处理功能,实现计算结果和编程的可视化;
3) 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;
4) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等),为用户提供了大量方便实用的处理工具。
MATLAB系统结构:
开发环境
MATLAB开发环境是一套方便用户使用的MATLAB函数和文件工具集,其中许多工具是图形化用户接口。它是一个集成的 用户工作空间,允许用户输入输出数据,并提供了M文件的集成编译和调试环境,包括MATLAB桌面、命令窗口、M文件编辑调试器、MATLAB工作空间和在线帮助文档。
数学函数
MATLAB数学函数库包括了大量的计算算法。从基本算法如四则运算、三角函数,到复杂算法如矩阵求逆、快速傅里叶变换等。
语言
MATLAB语言是一种高级的基于矩阵/数组的语言,它有程序流控制、函数、数据结构、输入/输出和面向对象编程等特色。用这种语言能够方便快捷建立起简单运行快的程序,也能建立复杂的程序。
图形处理
图形处理系统使得MATLAB能方便的图形化显示向量和矩阵,而且能对图形添加标注和打印。它包括强大的二维三维图形函数、图像处理和动画显示等函数。
程序接口
MATLAB应用程序接口(API)是一个使MATLAB语言能与C、Fortran等其它高级编程语言进行交互的函数库。该函数库的函数通过调用动态链接库(DLL)实现与MATLAB文件的数据交换,其主要功能包括在MATLAB中调用C和Fortran程序,以及在MATLAB与其它应用程序间建立客户、服务器关系。
三、labview和matlab区别
LabVIEW通过拖拽图标选择函数的方式代替了较为繁琐的输入代码编程,用线条将不同功能模块连接起来,给用户提供了简单明了直接的图形编程形式,大大减少了程序开发时间,而且运行速率几乎不受到影响。利用LabVIEW,开发人员可以根据生产和实际需要,构建自己的仪器系统,它在工业测量和控制方面有着得天独厚的优势;
MATLAB是经常使用的图象处理软件,它最擅长处理的数据类型是没有维数限制的矩阵。对于一些包含了矩阵向量运算的工程设计上的问题,用户能够使用MATLAB轻松的解决掉,其能够实现图象处理方面的很多功能。用户能够将特征向量和矩阵通过MATLAB命令用图形表示出来,而且能够对图形进行注解和打印操作。
Matlab更多的是一种程序语言。他是一种很强大的科学计算工具。集成了大量的函数和工具箱toolbox。而Labview更像一种可视化编程工具,提供大量的模块,如按钮,LED等。它是一种虚拟仪器,和硬件接口非常方便。尤其擅长数据采集系统。
labview的优势是在于ni是提供软硬件一体的方案,也就是硬件设备ni也做,所以包含程序优化性能,运行平台,特别是硬件稳定性方面,具有很大的优势。缺点是贵,而且你独立做二次开发实际比较局限,一者社群小,关注的人有限,二者其编程语言不是很主流,需要转换算法的逻辑。所以一般二次开发和需求都需要联系ni,其会提供一些帮助。
matlab的优势在于其平台比较适合算法开发,得益于其早期的发展策略,matlab的算法开发和编程机制是非常容易上手而且简单的,同时变量的实时可追踪显示的特性,对于算法层面调试很有帮助。而且现在其转型后,各个工具箱也很强大,基于matlab可以做很多有用的二次开发。缺点是没有配套硬件,matlab是一个纯软件,纯软件要商业化的话,稳定性,运行效率等等就需要额外的精力去完善,matlab做原型设计都是不错的,不过就可以当做其是个白盒,你的软硬件实力很强,白盒就能发挥非常大的潜力,而如果弱的话,那么可能平均水平都不到。但是ni是追求软硬件一体的,所以综合稳定性都还行,但是成本会更高。