问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

LabVIEW中数组操作详解:从基本运算到高级函数

创作时间:
作者:
@小白创作中心

LabVIEW中数组操作详解:从基本运算到高级函数

引用
51CTO
1.
https://blog.51cto.com/u_16213608/11569136

LabVIEW是一种图形化编程语言,广泛应用于自动化测试和测量领域。在LabVIEW中,数组操作是非常重要的一个方面,涉及到数据的读取、处理和显示等多个环节。本文将详细介绍LabVIEW中数组操作的相关函数和概念,包括算数运算函数、数组大小获取、索引数组、替换数组子集、数组插入、删除数组、初始化数组、构建数组、数组子集、数组最大最小值、重排数组、一维数组排序、搜索一维数组、拆分一维数组和循环移位一维数组等。

算数运算函数

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

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

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

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

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

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

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

数组函数

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

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

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

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

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

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

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

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

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

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

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

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

    设置为连接输入。

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

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

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

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

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

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

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

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号