0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

LabVIEW中的映射表是什么?

华穗科技 来源:华穗科技 2023-07-21 10:14 次阅读

一、 映射表的概念

在了解映射表的概念之前,我们需要先明确映射的概念,映射是一个数学名词,它指的是集合与集合之间的一种对应关系:集合A中的每一个元素都在集合B中存在与之对应的元素。

下面引入LabVIEW中的映射表的概念:由多对“键-值”对组成的条目集合。其中所有键都是唯一的,而值可以不唯一,每一个键都必须有一个与之对应的值。

由此可见键和值之间存在映射关系,由多对“键-值”条目组成的集合就是映射表,键和值可以分别为任意数据类型。映射表也可以称为字典,因为查找映射表类似于查字典,“键”通常被用于查找“值”。

二、映射表的API

生成映射表:使用输入的所有“键-值”对创建一个映射表。对于具有重复键的条目,该函数仅包括结果映射表中的最后一个条目。各个键的数据类型必须相同,各个值的数据类型也必须相同。

db99c52a-276a-11ee-962d-dac502259ad0.png

插入映射表:给已有映射表中插入一个新的条目后输出结果映射表。如果键已包含在映射表中,则此函数将用新的关联值替换键的原始值。

dbc820a0-276a-11ee-962d-dac502259ad0.png

从映射表中删除:从已有映射表中删除指定条目后输出结果映射表。当键存在时返回该键相关联的值。

dbeec232-276a-11ee-962d-dac502259ad0.png

在映射表中查找:检查映射表是否包含指定键的条目,并返回键的关联值。如果不包含指定键则会返回T。

dc0b6284-276a-11ee-962d-dac502259ad0.png

读取映射表最大值和最小值:映射表中的键可以看作一个集合,该API可以获取到所有键集合中的最大元素和最小元素。

dc3038ac-276a-11ee-962d-dac502259ad0.png

群体大小:返回输入的群体的元素个数,即群体的大小。(该API集合和映射表通用)

dc4a8bbc-276a-11ee-962d-dac502259ad0.png


空群体:当输入的群体中元素个数为零时返回T。(该API集合和映射表通用)

dc733224-276a-11ee-962d-dac502259ad0.png

二、 映射表的相关知识

1、虽然变体属性也可以用作字典来查找值,但是映射表更灵活,因为键和值都可以是任何LabVIEW数据类型。对于变体属性,键必须是字符串,值必须是变体。相比变体属性,映射表更加不容易出错。对于映射表,LabVIEW在编辑时返回连线错误,因为值接收指定的数据类型。对于变体属性,LabVIEW在运行时返回接线错误,因为该值是接受任何数据的变体类型。

2、映射表可以通过循环的索引输入访问到每个条目,条目是以簇的形式呈现(簇中包含键和值两个元素),并且再通过一次索引输出转换成一个簇数组,如下图所示:

dc9658b2-276a-11ee-962d-dac502259ad0.png

3、映射表操作(插入、删除、查找等)相对于数组操作(插入、删除、索引)映射表操作消耗的资源会更多,但是它的执行速度和效率远高于数组操作。

三、群体数据类型的应用场景

1、快速计算:虽然集合和映射表作为群体数据结构具备有序性会额外消耗部分内存开销,但是它们可以对数据进行更快地搜索、插入、更改以及删除等操作,所以十分适合应用在需要快速计算的应用场景下;

2、防止重复写入:由于群体数据类型中元素或条目具有唯一性,这使得它可以防止重复写入,保证数据的唯一性,所以十分适合应用在需要放置重复写入的应用场景下。

3、查找特定数据:在LabVIEW 2019之前,存储有序数据或有对应关系的数据时会选择簇或数组,并且操作簇或数组来完成特定数据的查找,但现在可以用集合与映射表来替代。

四、拓展:

集合与映射表都属于群体数据结构,而群体数据结构除了LabVIEW中有,在其他很多编程语言中也有。比如python中有Set(集合)和Dict(字典)数据结构,它就对应了LabVIEW中的集合与映射表。Python和LabVIEW的群体数据结构对应关系如下:
dcb7c36c-276a-11ee-962d-dac502259ad0.jpg




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • LabVIEW
    +关注

    关注

    1971

    文章

    3654

    浏览量

    323641
  • python
    +关注

    关注

    56

    文章

    4797

    浏览量

    84689

原文标题:知识分享 | LabVIEW中的群体数据类型(二)

文章出处:【微信号:华穗科技,微信公众号:华穗科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    请问STM32H750VB的DMA通道映射在哪里查看?

    准备用STM32H750VB这款芯片,在参考手册中发现找不到DMA通道的映射表,想问一下这个去哪里查看?
    发表于 04-11 07:15

    labview进行坐标映射

    用XY运动平台做实验,采用GT-SV-400运动控制卡,在做二维插补实验时需要坐标映射,就是GT-Map Axis函数,有前辈知道这个函数怎么在labview中使用吗?请指点一下
    发表于 07-13 12:22

    请问有STM32F4系列的DMA1各通道和数据流的映射表

    各位大神,求助STM32F4系列的DMA1各通道和数据流的映射表
    发表于 04-16 14:42

    imx6ul开发板的静态地址映射表在哪几个文件

    在驱动编程的时候想了解一下静态地址映射表在哪几个文件,网上查询了解到在内核文件的arch/arm但是进去imx6平台查找出来的文件不确定,在相关技术文档好像也没有找到,有技术支持
    发表于 01-10 06:00

    ARM如何通过USB分析等不同映射的原理方式访问外设资源

    在学习过程,发现三个方面的映射比较难于掌握和理解,然后通过GPIO和三层架构的架构来作为映射原理的例子来说明如何通过USB、分析等不同映射的原理来说明如何通过USB、分析等不同
    发表于 04-20 10:43

    MMU存储管理单元的工作原理是什么?如何实现其流程呢

    MMU,Memory Management Unit,存储管理单元。MMU的工作流程为:首先,配置一个地址映射表的基地址。然后,每输入一个虚拟地址则输出一个物理地址。地址映射表可以简单认为是虚拟地址
    发表于 05-13 09:56

    STM32H7 DMA请求映射表记录在哪里可以找到呢?

    STM32H7 DMA 请求映射表记录在哪里?我们想在 USART1 RX 和 TX 上使用 DMA。在 STM32H7 的 STm32Cube ,例如
    发表于 01-04 08:04

    语义网基于机器学习的本体映射研究

    本体映射是解决语义网不同本体间的知识共享和重用问题的有效方法。本论文从解决语义网本体的各种异构问题出发,同时考虑到目前的本体大多映射效率不高、
    发表于 12-22 13:45 10次下载

    Logistic混沌映射在级联逆变器的应用

    Logistic混沌映射在级联逆变器的应用
    发表于 05-06 16:54 0次下载

    LabVIEW管理项目

    LabVIEW管理项目
    发表于 03-21 20:02 32次下载

    浅析太阳辐射表的波长范围及应用

    太阳辐射表是用来测量太阳辐射的传感器,广泛应用在气象、农业、林业、交通、海洋、科研等领域。
    发表于 09-14 15:22 0次下载

    净全辐射表/四分量净辐射传感器简介

    TBB-2系列净全辐射表由两个短波辐射表和两个长波辐射表组成。短波辐射表由石英罩、感应元件、表体等部件组成。长波辐射表由硅制弧形滤光罩、感应
    发表于 09-29 16:41 1510次阅读
    净全辐<b class='flag-5'>射表</b>/四分量净辐射传感器简介

    C语言映射表在串口数据解析的应用

    一、映射表在串口数据解析的应用 二、映射表在UI设计的应用
    发表于 10-27 11:16 398次阅读

    C语言映射表在串口数据解析的应用

    C语言映射表在串口数据解析的应用
    的头像 发表于 11-13 09:33 486次阅读

    嵌入式开发:映射表在串口数据解析的应用

    1 映射表在串口数据解析的应用 1.1 数据结构 1.2 指令、函数映射表 1.3 串口解析函数实现
    的头像 发表于 11-28 10:30 454次阅读