已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
6 1数组数组是LabVIEW常用的数据类型之一 一个数组可以是一维或者多维 如果必要 每维最多可有231 1个元素 可以通过数组索引访问其中的每个元素 索引的范围是0到n 1 数组的元素可以是数据 字符串等 但所有元素的数据类型必须一致 6 1 1数组的组成与创建1 数组的组成由索引 数据和数据类型构成 其中数据类型隐含在数据中 第六讲数组 簇 2 数组的创建从前面板上创建数组 打开前面板 在控件 新式 数组 矩阵与簇 数组 如图 再在里面放置一个数值输入控件即可 如图 如果要显示更多的数组成员 在工具选项板上选择定位工具 在数组的边框停滞 当出现网状拐角后就可以拖动增加或减少显示区域 如图 如果要增加或减少数组的维数 可以在索引框的快捷菜单上执行 如图 增加后如图 对于二维数组来说 索引框中上一个为行索引 下一个为列索引 2 程序框图上创建数组 在程序框图上创建数组和在前面板上创建数组有点类似 也首先创建一个外壳 然后再放入数值型常量 枚举或环形常量 字符串型常量以及布尔型常量等 刚刚放入常量后 所有的数组成员显示为灰色 可以用操作工具依次给它们赋值 赋值范围以外的数组成员保持灰色不变 如果跳过一些数组成员给后面的成员赋值 则前面的成员自动赋一个系统默认的值 先在程序框图上放置一个数组常量 位于函数 编程 数组 数组常量 如图 然后再往里放入一个数值常量 完成后如图 6 1 2数组函数对一个数组进行操作 无非是求数组的长度 取出数组中的元素 替换数组中的元素或初始化数组等各种运算 1 数组大小 ArraySize函数返回输入数组中的元素个数 2 索引数组 IndexArray函数用于访问数组中的某个元素 下图显示了一个索引函数的例子 它用于访问数组中的第三个元素 将一个二维数组与IndexArray函数相连 IndexArray就会含2个索引端子 将一个三维数组与IndexArray函数相连 IndexArray就会含3个索引端子 余类推 可以使用的索引端的符号是一个黑方快 被禁止使用的索引端 DisableIndexing 是一个空心的小方框 可以从一个三维数组中提取一个二维数组 方法是禁止两个索引端子 或者通过禁止一个索引端子提取一个一维数组 下图显示了从三维数组提取数组的各种方法 3 数组子集 ArraySubset函数选取数组或者矩阵的某个部分 该函数可以返回从某个指针开始的部分数组 并包括了长度元素 下图显示了一些数组子集的例子 注意 数组索引从0开始 4 替换数组元素 ReplaceArrayElement函数替换数组中的某个元素 5 改变数组维数 ReshapeArray函数改变输入数组的维数 6 初始化数组 InitializeArray函数对数组进行初始化 数组中所有的元素相同 7 建立数组 BuildArray函数建立一个新数组的维数 8 移位一维数组 Rotate1DArray函数将一维数组的最后n各元素移至数组前面 9 排序一维数组 Sort1DArray函数将一维数组中的数据按升序排列 10 颠倒一维数组 Reverse1DArray函数将一维数组的元素前后颠倒 结合Sort1DArray函数 可实现降序排列 11 转置二维数组 Transpose2DArray函数将二维数组进行转置输出 12 搜索一维数组 Search1DArray函数搜索指定元素在一维数组中的位置 13 求数组的最大值和最小值 ArrayMax Min函数返回数组中的最大值和最小值 以及它们在数组中的位置 14 截断一维数组 Split1DArray函数将一维数组在指定位置截断 分成两个一维数组 当索引位置小于0时 第一个子数组为空 当索引位置大于数组长度时 第二个子数组为空 15 一维数组的插值 Interpolate1DArray函数根据给定的小数索引值 确定对应的数组元素值 16 一维数组的阈值 Threshold1DArray函数是线性插值的逆过程 根据给定的数值 确定对应的索引值 17 插入一维数组 Interleave1DArray函数将输入端口的一维数组插入到输出的一维数组中 插入的顺序为 按从上到下的原则 依次取出输入数组的第0各元素 放入输出数组中 然后是第1各元素 依此类推 18 拆分一维数组 Decimate1DArray函数是插入一维数组 Interleave1DArray函数的反运算 将输入的一维数组拆分为多个一维数组 拆分原则 第1个子数组 元素为输入数组的0 n 2n 3n 第2个子数组 元素为输入数组的0 n 1 2n 1 3n 1 第3个子数组 依此类推 例一 设计步骤如下 创建一个For循环 循环次数定为100次在数学函数中调用Sinc函数 重复端子作为输入 输出用一个波形图表和一个数组显示 如图 例二 创建一个二维数组 现在已经有两组一维数组了 可以使用创建数组函数就可以把他们创建为二维数组 在一个波形图中显示 如图 可以用鼠标对该函数进行拉伸操作 即可有两个输入端子了 程序框图如图 前面板运行结果如图 例三 初始化和分离数组 利用For循环的自动索引功能从一个输入数组中依次抽取各个元素 如果是大于0的数则添加到正数数组 如果是小于0的则添加到负数数组 并分别计算两个数组中各自有多少个元素 如图所示便是程序框图 下图是在选择结构中为 假 时的情景 其中一共用到了三个数组函数 一个初始化函数 一个创建函数 一个数组大小函数 运行时前面板如图 6 1 3数组的特点1 LabVIEW会自动确定数组长度 最多可达 231 1 个元素 2 数组中元素的数据类型必须相同 6 2簇簇是LabVIEW中一个比较特别的数据类型 它可以将几种不同的数据类型集中到一个单元中形成一个整体 如有关一个学生的信息有 学号 姓名 性别 年龄 成绩和家庭地址等 如将这些项目分别定义为相互独立的简单变量 不能反映它们之间的内在联系 而应当把它们组合成一个组合项 这种数据结构就是簇 上述数据的C语言结构描述 上述数据的LabVIEW结构描述 structstudent intnum charname 20 charsex intage floatscore charaddr 30 簇是一种类似数组的数据结构 用于分组数据 簇和数组有着重要的差别 其中一个重要差别是 簇可以包含不同的数据类型 而数组仅可以包含相同的数据类型 例如 一个数组可以包含10个数字指示器 一个簇却可以包含一个数字控件 一个开关和一个字符串控件 尽管簇和数组的元素都是有序存放的 但访问簇的元素最好是通过释放的方法同时访问其中部分或全部元素 而不是通过索引一次访问一个元素 簇和数组的另一个差别是簇具有固定的大小 簇通常用于将出现在框图上的有关数据元素分组管理 因为簇在框图中仅用唯一的连线表示 所以对于减少连线混乱和子VI需要的连接器端子个数 使用簇有着积极的效果 可以将簇看做是一捆连线 线缆中每一个连线表示簇的不同元素 在框图上 只有当簇具有相同类型 相同元素数量和相同元素顺序时 才可以将簇的子端连接 6 2 1簇的创建簇的创建框位于前面板中的控件 新式 数组 矩阵和簇 簇 然后就可以往簇的框中添加各种类型的控件了 例如现在要建立一个学生的记录信息 包括学生的姓名 学号 性别和年龄 这就需要在簇外壳里依次放入两个字符串输入控件 一个数字控件和一个布尔控件 如图 与数组的创建类似 簇也可以从程序框图中创建 先在程序框图上放置一个簇外壳 然后就可以在簇外壳里放置各种数据类型常数 如图 簇内对象的大小是可以调整的 右击簇边界 在弹出的快捷菜单中可以选择各种调节操作 如图 选择调整为匹配大小 即可缩小簇的边框 如图为调整后的结果 簇结构中的元素排列是按照它们放置的先后来排序的 它与簇内元素的位置无关 放入簇内的第一个元素序号为0 第二个元素序号是1 依次向下排列 如果删除了一个元素 序号将重新自动调整 簇的排序很重要 它直接影响着后面将要介绍的 捆绑 以及 接触捆绑 函数的端口顺序 如果要将一个簇与另一个簇连接 这两个簇的序和类型必须相同 如果想要改变簇内元素的排列顺序 可以右击簇结构的边框 在弹出的快捷菜单中执行 重新排序簇中控件 如图 这时鼠标会变成一个带 号的手柄箭头 黑框指出新设置的排列序号 白框表示原先的排列序号 可以改变标题栏上的 单击设置 内容 然后单击簇元素即可设置新的序号 设置完毕后单击工具栏上的 按钮确定更改 如果想恢复原先设定值 单击 取消设置 6 2 2簇函数簇函数 主要是访问簇中的各个元素 或由不同类型但相互关联的数据组成簇 簇函数的模版如图 簇函数中最主要的就是构造打包生成簇的 捆绑 函数 还有从簇中解包提取簇中元素的 解除捆绑 函数 它们是根据簇成员的顺序来进行操作的 这也说明了簇内成员顺序排列的重要性 例1 创建簇 解包簇 再打包簇该例的目的是学习使用簇的两个基本函数 如图 首先放置一个簇外壳到前面板上 将标签内容改为 输入簇 簇函数举例 在簇外壳中依次放入字符串控件 Name 布尔控件 Sex 数字输入控件 Pay 以及字符串控件 Address 通过这些簇元素来组成某一公司内一名员工的工资记录 如图 切换到程序框图 放置一个 解除捆绑 解包簇函数 函数刚放入时 它的右侧只有2个输出端口 当输入端口与 输入簇 端子相连后 右侧端口会自动增加为簇元素的数目 端口从上向下排列的顺序与簇内元素的放置顺序相对应 并且数据类型也是与簇元素数据类型相对应 如图 同样放置一个 捆绑 打包簇函数 用定位工具将输入端口的数目增加到4个 依次将它们与解包出来的4个簇元素相连 表示又把它们进行打包生成一个新的簇 在输出端口创建一个簇显示器 把标签改为 输出簇 如图 例2 替换簇成员 该例的目的是学习使用 按名称捆绑 函数来替换簇内的某些元素 1 新建一个VI 在前面板上创建一个簇外壳 依次向簇内添加一个数字输入控件 一个布尔控件 一个字符串输入控件 如图 2 打开程序框图 选择 按名称捆绑 函数 它的功能是按照名称来替换簇成员的值 在函数刚放入时 它的左侧只有一个输入端口 将函数的 输入簇 端口与创建的簇端子相连之后 左侧端口会显示簇内第一个元素的名称数值 用操作工具单击它可以选择其他的簇成员 如图 3 在前面板上创建一个输入控件 将标签改为 输入数字 在程序框图将它与 数值 端口相连 表示将用它来替换簇元素 如图 4 在 按名称捆绑 函数后面创建输出簇 完成后即可运行程序 如图 例3 插接生成簇数组 该例的目的是学习使用 索引与捆绑簇数组 函数插接簇数组函数来生成一个簇数组 1 新建一个VI 打开程序框图 放置一个该函数 刚放入时它只有一个输入的端口 用定位工具拖拉它为3个输入端口 2 在程序框图上放置三个数组外壳 然后分别添加字符串常量 数值常量和布尔常量 建立三个数组 如图 然后给他们赋如图所示的值 如图 然后连线 并创建显示控件 如图 运行 结果如图 说明 该函数从输入的3个数组中依次取值 相同索引值的数据被攒成一个簇 所有的簇构成一个一维数组 插接成的数组的长度与所有输入数组中长度最短的一个相等 多余的数据被丢弃 4 建立 数组的数组 学习把一维数组当成一个簇 然后通过建立簇的数组 因为簇数组的每一个成员都是一个簇 即一维数组 从而实现建立 数组的数组 的目的 1 先新建一个VI 打开程序框图 放置一个 创建簇数组 函数 该函数的功能是建立簇的数组 簇数组的每个成员都是一个簇 刚放入程序框图时 函数只有一个输入端口 用定位工具拖动它的边框 使它具有3个输入端口 2 在程序框图上创建3个数值型数组 分别对它们进行赋值 第一个和第三个数组长度设定为5 第二个数组的长度设定为4 在 创建簇数组 函数的输出端口创建一个簇显示器 将簇显示器的标签内容改为 数组的数组 如图 3 运行程序 即可在前面板上看到结果 如图 4 4 3簇的特点1 簇操作通常按元素编号顺序进行 给元素编号是簇的一大特点 编号可调整 2 簇的框架具
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 本科金融特色试题及权威答案展示
- 八年级语文苏教版期末阶段第二单元同步测试卷基础版A卷
- 智慧物流园区自动化分拣系统设计报告
- 烘焙食品项目节能评估报告
- 建筑设计个人述职报告(3篇)
- 智慧食堂应急处置手册
- 起重机械安全事故应急响应方案
- 区县党建品牌创建资料岗公开招聘模拟卷
- 医共体区域检验中心质量控制制度
- 无线通信室内覆盖系统机房配套设计
- 八年级上学期语文阅读计划
- JC-T1083-2024水泥与减水剂相容性试验方法
- T∕CSTM 00251-2020 碳纤维轴向平均线膨胀系数试验方法 顶杆示差法
- 架空输电线路缺陷管理办法
- 2025年成都航空职业技术学院单招职业技能考试题库完美版
- 人工智能导论 课件 7.人工智能+旅游
- 主通风机单机运行安全技术措施
- 建筑地基基础检测规范DBJ-T 15-60-2019
- STEM教育与跨学科整合
- TB-T 3356-2021铁路隧道锚杆-PDF解密
- 林业安全知识培训
评论
0/150
提交评论