labview移位寄存器的一道题求解,谁能详细的解答下,为什么初始化为0,1.程序的执行是什么样子
展开全部
这里的重点是移位寄存器会保存之前的数据,如果不进行初始化,第二次50次循环的时候(中途没关闭LabVIEW),寄存器中还保存着上次的最终结果。以最大值部分为例,比如前50次最大值是0.98,如果后来这50次的实际最大值是0.95的话,50个数都小于0.98,结果最后的“最大值”就成了0.98,而不是0.95。最小值不初始化也有类似的问题。解决的办法就是给移位寄存器赋初值进行初始化,把“最大值”的移位寄存器赋值0,另一个赋值1。
如果只有50个数据,这个小程序修改一下比较好:for循环只管用随机数函数生成个50个元素的一维双精度数的数组(for循环使用自动索引即可),然后在for循环后面将数据用波形图而不是波形图表显示(省去去除历史数据的操作),然后用数组的最大值最小值函数找其中的最值。
不初始化的移位寄存器用在“功能全局变量”中,有专门的初始化分支给其赋值,其它场合比较少用。
如果只有50个数据,这个小程序修改一下比较好:for循环只管用随机数函数生成个50个元素的一维双精度数的数组(for循环使用自动索引即可),然后在for循环后面将数据用波形图而不是波形图表显示(省去去除历史数据的操作),然后用数组的最大值最小值函数找其中的最值。
不初始化的移位寄存器用在“功能全局变量”中,有专门的初始化分支给其赋值,其它场合比较少用。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询