labview簇数据合成簇分解数组

简介: (1)添加1个簇控件:控件选板→新式→数值→数组、矩阵与簇一簇,标签为“簇”将1个数值显示控件、1个圆形指示灯控件、1个字符串显示控件放入簇框架中。(2)添加1个旋钮控件:控件选板→新式-→数值→旋钮,标签为“旋钮”。(3)添加1个开关控件:控件选板→新式→布尔-→翘板开关,标签为“布尔”。(4)添加1个字符串输入控件:控件选板→新式→字符串与路径-→字符串输入控件,标签为“字符串”。

例1.将一些基本数据类型的数据元素合成一个簇数据。

前面板

(1)添加1个簇控件:控件选板→新式→数值→数组、矩阵与簇一簇,标签为“簇”

将1个数值显示控件、1个圆形指示灯控件、1个字符串显示控件放入簇框架中。

(2)添加1个旋钮控件:控件选板→新式-→数值→旋钮,标签为“旋钮”。

(3)添加1个开关控件:控件选板→新式→布尔-→翘板开关,标签为“布尔”。

(4)添加1个字符串输入控件:控件选板→新式→字符串与路径-→字符串输入控件,标签为“字符串”。

设计的程序前面板如图5-1所示。

754158b6b640cbaac66a4d446b0279e.png

框图程序

(1)添加1个捆绑函数:函数选板→编程→簇与变体→捆绑。

将捆绑函数节点的输入端口设置为3个(选中图标,向下拖动图标边框即可)。

捆绑函数的输入端口数量也是可以任意增/减的。

(2)将旋钮控件、开关控件、字符串输入控件分别与捆绑函数的3个输入端口相连。

(3)将捆绑函数的输出端口输出簇与簇控件相连。

连线后的框图程序如图5-2所示。

9466397c6c3e533bc30555e670e7a9e.png

运行程序

执行“连续运行”。转到按钮,单击布尔开关,输入字符串,在簇数据中显示变化结果。在簇数据中转到旋钮、改变数值大小、单击布尔开关、输入字符串,旋钮输出值、布尔输出值、字符串输出值发生同样变化。

程序运行界面如图5-3所示。

922a3c5abbf54dbf59e82de9bcb015d.png


例2.将一个簇中的每个数据成员进行分解,并将分解后的数据成员作为函数的结果输出。

前面板

(1)添加1个簇控件:控件选板→新式→数值→数组、矩阵与簇→簇,标签为“簇"

将1个旋钮控件、1个数值输入控件、1个布尔开关控件、1个字符串输入控件放入簇框架中。

(2)添加2个数值显示控件:控件选板→新式→数值→数值显示控件,标签分别改为“旋钮输出”“数值输出”。

(3)添加1个指示灯控件:控件选板- +新式→布尔→圆形指示灯,标签为“布尔输出”。

(4)添加1个字符串输出控件:控件选板-→新式字符串与路径- >字符串输出控件,标签为“字符串”。

设计的程序前面板如图5-4所示。

e76877cc88994eb5ab826f1d3ba55be.png

框图程序

(1)添加1个解除捆绑函数:函数选板→编程→簇与变体→解除捆绑。

(2)将簇控件与解除捆绑函数的输入端口簇相连。

(3)将解除捆绑函数的输出端口旋钮、数值、布尔、字符串分别与旋钮输出控件、数值输出控件、布尔输出控件、字符串输出控件相连。

连线后的框图程序如图5-5所示。

cf0ef2a9a90814597ad0e8133279b3e.png

运行程序

执行“连续运行”。在簇数据中转到旋钮、改变数值大小、单击布尔开关、输入字符串,旋钮输出值、布尔输出值、字符串输出值发生同样变化。

程序运行界面如图5-6所示。

b31c5cffe2c70575a9c4682095ebb4d.png


例3. 按照元素的名称替换掉原有簇中相应数据类型的数据,并合成一个新的簇的对象。

前面板

(1)添加1个簇控件:控件选板-→新式-→数组、矩阵与簇→簇,标签为“簇”。

将1个数值输入控件、1个字符串输入控件放入簇框架中。

(2)再添加1个簇控件:控件选板-→新式→数组、矩阵与簇→簇,标签为“输出簇”。

将1个数值显示控件、1个字符串显示控件放入簇框架中。

(3)添加1个数值输入控件:控件选板→新式→数值-→数值输入控件,标签为“替换数值”。

(4)添加1个字符串输入控件:控件选板→新式→字符串与路径→字符串输入控件,标签为“替换字符串”。

设计的程序前面板如图5-7所示。

26531f7d45f272f2bee3f9ce40ac703.png

框图程序

(1)添加1个按名称捆绑函数:函数选板→编程-→簇与变体→按名称捆绑。

(2)将簇控件与按名称捆绑函数的输入端口簇相连。

(3)将按名称捆绑函数的输入端口设置为2个。可以看到函数出现“数值”和“字符串”输入端口。

(4)将替换数值输入控件与按名称捆绑函数的输入端口数值相连;将替换字符串输入控件与按名称捆绑函数的输入端口字符串相连

(5)将名称捆绑函数的输出端口输出簇与输出簇控件相连。

连线后的框图程序如图5-8所示。

8c2ea1117d06612952270d795790cf2.png

运行程序

执行“连续运行”。在簇数据中改变数值大小,输入1个字符串;改变替换数值大小,在替换字符串中输入另一个字符串,输出簇中数值和字符串发生相应变化(被替换)。

程序运行界面如图5-9所示。

02ef2230b7f993106a45c2b91515d4b.png


例4.按照簇中所包含的数据的名称将簇分解成组成簇的各个元素。

前面板

(1)添加1个簇控件:控件选板→新式→数组、矩阵与簇→簇,标签为“簇”。

将1个数值输入控件、1个指示灯控件、1个字符串输入控件放入簇框架中。

(2)添加1个数值显示控件:控件选板→新式→数值→数值显示控件,标签改为“数值输出”。

(3)添加1个指示灯控件:控件选板→新式→布尔-→圆形指示灯,标签改为“布尔输出”。

(4)添加1个字符串输出控件:控件选板→新式→字符串与路径→字符串输出控件,标签改为“字符串输出”。

设计的程序前面板如图5-10所示。

586122fbf6bbcc4eb93355567a04a21.png

框图程序

(1)添加1个按名称解除捆绑函数:函数选板→编程-→簇与变体→按名称解除捆绑。

(2)将簇控件与按名称解除捆绑函数的输入端口输入簇相连。

本例将按名称解除捆绑函数的输出端口设置为3个,以显示数值、布尔、字符串输出端口。

(3)将按名称解除捆绑函数的输出端口数值、布尔、字符串分别与数值输出控件、布尔输出控件、字符串输出控件相连。

连线后的框图程序如图5-11所示。

c2a167bcb1591322318761bf3b91e8a.png

运行程序

执行“连续运行”。在簇数据中改变数值大小、单击布尔指示灯、输入字符串,数值输出值、布尔输出值、字符串输出值发生同样的变化。

程序运行界面如图5-12所示。

8fda1afddc6250bd0c8d9a9315febda.png


例5.将输入的多个簇数据转换为以簇为元素的数组数据,并作为该函数的输出。

前面板

(1)添加1个簇控件:控件选板→新式→数组、矩阵与簇→簇,标签为“簇”。

将1个数值输入控件、1个按钮灯控件、1个字符串输入控件放入簇框架中。

(2)添加1个数组控件:控件选板→新式→数组、矩阵与簇-→数组,标签为“簇数组”。

将1个簇控件放入数组框架中,再将1个数值显示控件、1个指示灯控件和1个

字符串显示控件放入簇框架中(如果是输入控件,单击右键转换为显示控件)。

将数组成员数量设置为2列。

设计的程序前面板如图5-13所示。

ae369c9625d83fc162ac73c33f90124.png

框图程序

(1)添加1个创建簇数组函数:函数选板→编程→簇与变体→创建簇数组,将输入端口设置为2个。

(2)添加1个簇常量:函数选板→编程-→簇与变体→簇常量。

往簇常量中添加1个数值常量(值为0)、1个布尔常量和1个字符串常量(值为

LabVIEW)。

(3)将簇控件与创建数组的输入端口组件元素相连。

(4)将簇常量与创建簇数组的输入端口组件元素相连。

(5)将创建簇数组的输出端口簇数组与簇数组控件相连。

连线后的框图程序如图5-14所示。

2d176cc9ff94571ad3daafb949a7126.png

运行程序

执行“连续运行”。本例中,前面板中的簇数据与框图程序中的簇常量构成一个簇数组。

程序运行界面如图5-15所示。

2d035dafa9d20d11e0676c1b6067ced.png


例6.从输入的多个一维数组中依次取值,按照索引值重新构成一个新的簇数组,构成簇数组的长度和最小的一维数组的长度相同。

前面板

添加1个数组控件:控件选板→新式→数组、矩阵与簇-→ 数组,标签为“数组”。

将1个簇控件放入数组框架中,再将1个数值显示控件和1个字符串显示控件放入簇框架中。将数组成员数量设置为4列。

设计的程序前面板如图5-16所示。

40fc40d6189a5b88185039e9bda0e2a.png

框图程序

(1)添加1个索引与捆绑簇数组函数:函数选板→编程→簇与变体→索引与捆绑簇数组,将输入端口设置为2个。

(2)添加1个数组常量:函数选板→编程→数组→数组常量。向数组常量中添加数值常量,将列数设置为4,输入数值1、2、3、4。

(3))添加1个数组常量:函数选板→编程→数组→数组常量。向数组常量中添加字符串常量,将列数设置为4,输入数值a、b、c、d。

(4)将数值数组、字符串数组分别与索引与捆绑簇数组函数的输入端口组件数组相连。

(5)将索引与捆绑簇数组函数的输出端口簇数组与数值控件相连。

连线后的框图程序如图5-17所示。

94166f4c0278290db2c7ed45ec21dc1.png

运行程序

执行“连续运行”。本例数组中有4个簇数据,其中数值从数组常量中依次取值1、2、3、4;字符串从字符串数组常量中依次取值a、b、c、d。

程序运行界面如图5-18所示。

94e71c50ba21b1a729e26129d462cf1.png


相关文章
|
机器学习/深度学习 算法 数据可视化
浅析特征数据离散化的几种方法(上)
什么是离散化? 离散化就是把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。例如:
|
8天前
|
算法 数据可视化 Python
【视频】逆变换抽样将数据标准化和R语言结构化转换:BOX-COX、凸规则变换方法
【视频】逆变换抽样将数据标准化和R语言结构化转换:BOX-COX、凸规则变换方法
25 1
|
3月前
|
机器学习/深度学习 编解码 自然语言处理
LRP-QViT完美而来 | 输出层分配相关性+剪切通道让Swin Transformer量化后居然涨1.5个点
LRP-QViT完美而来 | 输出层分配相关性+剪切通道让Swin Transformer量化后居然涨1.5个点
136 0
|
9月前
|
数据可视化 数据安全/隐私保护
时序分解 | MATLAB实现基于SWD群体分解的信号分解分量可视化
时序分解 | MATLAB实现基于SWD群体分解的信号分解分量可视化
|
9月前
|
编解码 算法 数据可视化
【多重信号分类】超分辨率测向方法——依赖于将观测空间分解为噪声子空间和源/信号子空间的方法具有高分辨率(HR)并产生准确的估计(Matlab代码实现)
【多重信号分类】超分辨率测向方法——依赖于将观测空间分解为噪声子空间和源/信号子空间的方法具有高分辨率(HR)并产生准确的估计(Matlab代码实现)
|
5月前
|
数据挖掘
SPSS两独立样本的非参数检验
SPSS两独立样本的非参数检验
50 0
|
9月前
|
数据可视化 算法
时序分解 | MATLAB实现基于SVMD逐次变分模态分解的信号分解分量可视化
时序分解 | MATLAB实现基于SVMD逐次变分模态分解的信号分解分量可视化
|
9月前
|
机器学习/深度学习 数据可视化 算法
时间序列分解 | Matlab SGMD辛几何模态分解数据分解可视化,信号数据分解
时间序列分解 | Matlab SGMD辛几何模态分解数据分解可视化,信号数据分解
|
9月前
|
数据可视化 算法
时序分解 | MATLAB实现基于SGMD辛几何模态分解的信号分解分量可视化
时序分解 | MATLAB实现基于SGMD辛几何模态分解的信号分解分量可视化