古詩詞大全網 - 成語用法 - labview移位寄存器的壹道題求解,誰能詳細的解答下,為什麽初始化為0,1.程序的執行是什麽樣子

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循環後面將數據用波形圖而不是波形圖表顯示(省去去除歷史數據的操作),然後用數組的最大值最小值函數找其中的最值。

不初始化的移位寄存器用在“功能全局變量”中,有專門的初始化分支給其賦值,其它場合比較少用。