LABVIEW中怎么给数组特定位置元素直接赋值
比如有一个3*3的全局数组变量,我现在想把整数5赋给(1,1)而其他的值不变,只能用数组元素替换么?如果是替换的话,把输出的结果赋给这个全局变量的时候操作太繁琐了,而当数...
比如有一个3*3的全局数组变量,我现在想把整数5赋给(1,1)而其他的值不变,只能用数组元素替换么?如果是替换的话,把输出的结果赋给这个全局变量的时候操作太繁琐了,而当数组很大的时候比如1000*1000,速度就会很慢
展开
5个回答
展开全部
LabVIEW中并没有明确的赋值的概念,和传统的文本编程语言的思路不一样,是数据流驱动的编程,在一般的文本编程语言里,定义二维数组变量的时候只是开辟了一块内存空间,里面是空的,所以要有赋值的过程,而LabVIEW中内存不需要手动分配,其后台有自动管理内存的机制,出现新的二维数组的时候,不需要变量定义,直接分配内存空间,然后就把数据存进去了。
如果硬要说有什么“赋值”的话,LabVIEW中有几种常见的类似于“赋值”的操作:
1.在二维数组控件的前面板里直接填入数值
这个最简单,不用多说想必你也明白,手动填数。
2.创建单一元素的数组
需要用到初始化数组,见下图
如果要创建一个3列5行的全是0的元素的二维数组,方法如下图
3.修改数组中中的某一个或某一部分元素
鉴于LabVIEW有自动分配内存的管理机制,如果你取出数组子集,插入新的数组子集,每次操作都会将需要操作的数组在内存里复制一份,对于大数组而言非常的耗费内存。
labVIEW为了解决这种问题,有个元素同址操作的结构,见下图
在结构的边框上右键单击在菜单中可以添加对应的模块,如下图
添加的时候都是成对添加,用这种结构可以避免只更改数组内部分元素的时候内存里复制数组的现象。
展开全部
速度慢是因为使用了全局变量,建议尽量不要使用全局变量,如果必须要用,可以用functional global(功能全局变量), 另外在使用数组元素替换时,可以使用缓存重用结构(LV8.5或以后版本),这样可以减少内存的使用以及数据复制的时间。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
速度慢是因为你使用了全局变量,建议尽量不要使用全局变量,如果必须要用,可以用functional global(功能全局变量), 另外在使用数组元素替换时,可以使用缓存重用结构(LV8.5或以后版本),这样可以减少内存的使用以及数据复制的时间
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如图
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询