LabVIEW应用开发——基本函数(一)_labview函数-程序员宅基地

技术标签: labview  PC  上位机  LabVIEW边学边记录  

        前面我们介绍了一些控件的介绍和属性的配置,想要完成一个软件只会拖控件肯定是不行的,没办法实现既有的功能。比如我们要实现从串口中读到数据,根据一定的协议解析,然后转换成各个参数的值的显示,包括时间、电压、电流等等。这就涉及到了数据的操作,而需要完成这些操作需要我们掌握LabVIEW基本函数运行结构的使用。

        LabVIEW作为一门G语言编程,基本概念很难和常规语言一样,要实现运算,需要使用运算函数,通过使用连线,把需要运算的控件和符号连接起来。相对于常规语言,这一块逻辑代码的可读性还是比较差的,需要我们多写、多读、多了解才能快速阅读和开发。

1、算数运算函数

        函数是LabVIEW内置的执行元素,相当于编程语言中的运算符、函数或者语句。

1)基本函数

        基本函数包括加、减、乘、除等基本运算,还包括常用的运算函数,比如平方、随机数、常量等。

2)标量之间的基本运算

        标量之间的运算包括加、减、乘、除、乘方等,运算结果还是标量。

3)标量与数组的运算

        标量与数组的运算,指的是标量与数组中的每一个元素的相应运算,运算结果是相同维度的数组。

        在下面的例子中,把一个二维数组的全部元素的指全部加上一个常数,输出到另一个二维数组中。

4)数组与数组的运算

        不同维度的数组不允许运算,相同维度的数组分别两种场景。

        相同维度、相同大小的数组运算:对相同位置的数组元素进行运算,形成新的相同维度、相同大小的数组。

        相同维度、不同大小的数组运算:这种情况下,根据最小原则,比较大的数组进行裁剪成最小的数组大小,然后再进行数组运算,形成新的数组。

5)数组函数

        LabVIEW针对数组Array提供了很多专用的函数操作。这些函数的功能非常强大,使用也很灵活。

        数组大小Array Size:该函数用于获取数组的大小,如果是一维数组,返回的是I32的数据,表示一维数组的长度。如果是多维数组,则返回一个元素为I32类型的数组,数组中的每一个元素表示对应维数的大小。下面的例子中得到的数组两个元素,4行3列代表二维数组的大小。

        索引数组Index Array:LabVIEW中数组的元素需要通过索引获取,索引从0开始。该函数用法很灵活,可以取出单个元素,也可以得到整个数组。

        在下面的示例中,二维数组通过只传行数或者列数得到数组,通过传递行和列得到单个元素,通过两次获取数组大小得到维度。

        替换数组子集Replace Subset:一维数组中,替换的可以是其中的一个元素,也可以是一个数组。该函数的输入端子为数组索引,表示开始替换的位置,如果不输入,则从0处也就是起始位置,如果从索引号开始替换,替换的数组长度大于被替换的,那么会自动被截断。

        二维或者多维数组中,可以进行元素替换、行替换、列替换和行列都替换,如果超出范围一样会被截取忽略,索引一样从0开始。

        数组插入Insert Into Array:将一个数组根据索引插入到另一个数组中的索引位置,输出数组会拓展,如果没有设置索引,则默认从尾部插入。如果指定的索引超出数组的范围,则操作被忽略。二维数组插入,索引需要在行和列中选择一个,不能全选,插入后不会改变大小,超出范围被忽略。

        删除数组Delete From Array:从数组中删除一个元素或者子数组,输出删除后的数组子集和已删除的元素或者子集。删除元素只能是一维数组,二维数据根据行或者列直接删除一整行或者一整列。


        初始化数组Initialize Array:动态创建数组,常用于通信中。输入大小和初始值,输出创建的数组。向下拖动大小的输入端子,增加维度。维度可以为0,输出空数组。

        构建数组Build Array:连接多个数组或者向数组中添加元素。将多个标量直接连接到该函数得输入端子可以构建一个一维数组,如果连接到输入端子得是标量和数组,则是数组元素的添加。

        如果输入是标量和数组,那么则是数组元素添加的操作。

        如果输入是数组和数组,那么需要选择是否连接,非连接的情况下,则为添加行的操作。下面为非连接。

        设置为连接输入。

        数组子集Array Subset:输入索引号和长度返回数组的一部分,如果索引大于数组实际长度,或者长度为0,则返回同类型的空数组。

        数组最大最小值Array Subset:输入一个数组,返回最大值和最小值的值和索引。

        重排Reshape Array:重新排列一维数组或者多维数组,如果输入的数大于数组数量,默认补齐,反之,则多余的被舍弃。

        一维数组排序Sort 1D Array:对输入的数组进行升序排序。如果数组的元素是簇,那么将簇中第一个元素的的比较结果进行排序。此函数只能是一维数组,并且只能是升序,如果需要降序,则对升序数组进行反转操作。

        搜索一维数组Search 1D Array:搜索一维数组从索引处开始是否存在指定的元素,如果存在则返回元素的索引号,如果不存在,返回-1。

        拆分一维数组Splite 1D Array:以索引为界,把一维数组拆分成两个一维数组。

        循环移位一维数组Rotate 1D Array:当输入参数n大于零,则将数组最后的n个元素置于前端,当n小于零,则将数组前面的n个元素置于后端。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u014491932/article/details/134069778

智能推荐

AndroidStudio无代码高亮解决办法_android studio 高亮-程序员宅基地

文章浏览阅读2.8k次。AndroidStudio 升级到 4.2.2 版本后,没有代码高亮了,很蛋疼。解决办法是:点开上方的 File,先勾选 Power Save Mode 再取消就可以了。_android studio 高亮

swift4.0 valueForUndefinedKey:]: this class is not key value coding-compliant for the key unity.'_forundefinedkey swift4-程序员宅基地

文章浏览阅读1k次。使用swift4.0整合Unity出现[ valueForUndefinedKey:]: this class is not key value coding-compliant for the key unity.'在对应属性前加@objc 即可。或者调回swift3.2版本_forundefinedkey swift4

Spring Security2的COOKIE的保存时间设置_springsecurity 设置cookie失效时间-程序员宅基地

文章浏览阅读1.3k次。http auto-config="true" access-denied-page="/common/403.htm"> intercept-url pattern="/login.**" access="IS_AUTHENTICATED_ANONYMOUSLY"/> form-login login-page="/login.jsp" defau_springsecurity 设置cookie失效时间

view滑动冲突解决实战篇2(外部拦截法)_viewpage2外部拦截事件-程序员宅基地

文章浏览阅读1.1k次。继上篇内部拦截法需求还是跟上篇一样。只不过这次用外部拦截法来解决;只要在父容器添加如下代码就可以解决了滑动冲突,很简单,套模板就行 // 分别记录上次滑动的坐标(onInterceptTouchEvent) private int mLastXIntercept = 0; private int mLastYIntercept = 0; @Override public bo_viewpage2外部拦截事件

汇编 堆栈 变量存储 指针_汇编语言栈指针-程序员宅基地

文章浏览阅读2.5k次,点赞7次,收藏9次。本文章系作者原创,未经许可,不得转载。汇编 堆栈 变量存储 指针先说栈的概念,栈其实也是一种。。。。。先说内存的概念吧。。。。。额 先说计算机吧,简单来说的话,可以把计算机理解成由CPU,内存,硬盘组成,而CPU内部又包括一种叫做内部寄存器的东西,包括 数据寄存器: AX,BX,CX,DX; 段寄存器: CS,DS,ES,SS; 指针与变址寄存器SP,BP,SI,DI; ..._汇编语言栈指针

架构师之路:从码农到架构师你差了哪些_web架构师-程序员宅基地

文章浏览阅读1w次,点赞14次,收藏56次。转载自 架构师之路:从码农到架构师你差了哪些 Web应用,最常见的研发语言是Java和PHP。 后端服务,最常见的研发语言是Java和C/C++。 大数据,最常见的研发语言是Java和Python。 可以说,Java是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地。有..._web架构师

随便推点

超级简单的Python爬虫入门教程(非常详细),通俗易懂,看一遍就会了_爬虫python入门-程序员宅基地

文章浏览阅读7.3k次,点赞6次,收藏36次。超级简单的Python爬虫入门教程(非常详细),通俗易懂,看一遍就会了_爬虫python入门

python怎么输出logistic回归系数_python - Logistic回归scikit学习系数与统计模型的系数 - SO中文参考 - www.soinside.com...-程序员宅基地

文章浏览阅读1.2k次。您的代码存在一些问题。首先,您在此处显示的两个模型是not等效的:尽管您将scikit-learn LogisticRegression设置为fit_intercept=True(这是默认设置),但您并没有这样做statsmodels一;来自statsmodels docs:默认情况下不包括拦截器,用户应添加。参见statsmodels.tools.add_constant。另一个问题是,尽管您处..._sm fit(method

VS2017、VS2019配置SFML_vsllfqm-程序员宅基地

文章浏览阅读518次。一、sfml官网下载32位的版本 一样的设置,64位的版本我没有成功,用不了。二、三、四以下这些内容拷贝过去:sfml-graphics-d.libsfml-window-d.libsfml-system-d.libsfml-audio-d.lib..._vsllfqm

vc——类似与beyondcompare工具的文本比较算法源代码_byoned compare 字符串比较算法-程序员宅基地

文章浏览阅读2.7k次。由于工作需要,要做一个类似bc2的文本比较工具,用红色字体标明不同的地方,研究了半天,自己写了一个简易版的。文本比较的规则是1.先比较文本的行数,2.再比较对应行的字符串的长度3.再比较每一个字符串是否相同。具体代码如下:其中m_basestr和m_mergestr里面存放是待比较的字符串int basecount=m_basestr.GetLength(); int mergec_byoned compare 字符串比较算法

aetna java_pom.xml-程序员宅基地

文章浏览阅读79次。xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">org.apacheapache174.0.0org.apache.atlasapache-atlas3.0.0-SNAPSHOTMetadata Management and Data Govern..._atlas.pom

生成随机数_<math.h>随机数-程序员宅基地

文章浏览阅读1.5k次。C语言中有可以产生随机数据的函数,需要添加 stdlib. h头文件与time.h头文件。首先在main函数开头加上“ srand(unsigned)time(NULL));",这个语句将生成随机数的种子(不懂也没关系,只要记住这个语句,并且知道 srand是初始化随机种子用的即可)。然后,在需要使用随机数的地方使用 rand()函数。下面是一段生成十个随机数的代码:程序代码:#incl..._随机数