
基本上LabVIEW有內建了內/外插的VI
在Mathematics --> Interp & Extrap --> Interpolate 1D.VI
另外可以用Program-->Array裡的Interpolate 1D function
注意這function是不能做外插的
輸入原始資料範圍外的X, 會回傳Y array的邊緣點

基本上LabVIEW有內建了內/外插的VI
在Mathematics --> Interp & Extrap --> Interpolate 1D.VI
另外可以用Program-->Array裡的Interpolate 1D function
注意這function是不能做外插的
輸入原始資料範圍外的X, 會回傳Y array的邊緣點

首先是官方最推薦的方法, 效率最高
先初始化一個已知大小的array, 然後再把指定index的元素取代成我們要的數值
像是下圖這樣的程式生成一個從0遞增有6千萬個元素的array需要約~4.3sec
但是很多狀況下是不會知道程式執行下去最後會有多少元素
build array function的使用機會還是非常多

要進行和Arduino的連線,首先安裝LabVIEW(建議2012之後的版本)然後安裝NI-VISA,我的系統是VISTA,能使用的最新版本VISA是15.5版 (btw,2012和VISTA SP2可以支援的最新版488.2 driver是15.5)
再來是讓電腦可以認得Arduino,如果是買”便宜版”的Arduino,有可能插上去無法辨識。因為它用的是CH340系列晶片,要自己下載driver,檔名為CH341SER.EXE。
經由LabVIEW控制Arduino的三種途徑如下:
h5py是python用來生成HDF5文件的模組
HDF5多用在大量數據處理
在Python 3.8安裝h5py
直接用 pip install h5py 安裝會報錯
必須改用 pip install versioned-hdf5

LabVIEW做最基本的TCP/IP資料傳輸和可能遇到的問題處裡
準備兩個VI, 分別是傳輸端(TX)和接收端(RX)
流程是: TX先啟動等待連線-->RX建立連線-->TX送出資料-->RX接收資料-->結束
詳細說明如下:
傳輸端利用TCP listen來建立一個listner(或server)等待接收端連線

NI官方論壇有一則貼文發佈了手動安裝LINX的流程
可以讓Pi 2B, Pi 3A+, Pi 3B, Pi 3B+, Pi 4...等等都可以和Labview連上
使用的Labview版本也不再限於2014版
首先按正常流程安裝hRaspbian Buster (我在Jessie和stretch試過也沒問題)

最近寫了個比較需要運算的程式
發現自己的select用法會造成無謂的效率降低
我想要某個數字經由判斷式來決定要不要加入array,因為想要讓程式在同一頁就用了select
結果不管要不要加入array都會跑一次build array
造成array副本每個loop都大量被複製並存到記憶體

遞迴是個有點難理解的程式寫法
階層的程式解還是難以令人完全掌握其用法
我嘗試著用更多不同的題目來理解遞迴並用Labview的寫法重現
關於遞迴的設定在 Labview裡的遞迴(Recursion) 裡有清楚的說明
河內塔是三根竿子其中一根放了尤小到大N片有洞金片

首先把把FP大小設定為W450 * H500,要用到的物件、訊息框全部擺上FP,
除了遊戲中不會再變更位置的物件都要先放到預定的位置
這邊要稍微調整一下各物件階層關係,避免物件移動時意外被遮蓋
背景部份用兩張一樣的圖交替,圖必須設定為最下層
程式用sequence結構

Labview並沒有檢測元件overlap的功能,所以每個loop都要檢查所有障礙是否和球碰撞
首先檢查球是否位於障礙物1, 2之間的區域,上下障礙物X軸位置是一致的
如果是再近一步檢查求上緣小於3的位置或下緣小於4的位置
若其中一項成立則判定碰撞結束程式
另外若障礙物4的位置通過球到球的左側,就可以判定通過這一組障礙

LabVIEW FP物件並不能被消滅(至少我沒找到) 只能被隱藏
所以一開始就要布置在FP上而且要盡可能重複使用
FP上物件的位置可以從property取得, 同理也用property控制
FP往下是Y+,往右是X+, 利用while loop, 每個loop都改變一點位置
加上適當的delay即可製造出物件移動的錯覺

最近有人問LabVIEW能不能寫出flappybird那樣的東西
身為不務正業之人肯定要試一下的
概念上這個程式不難
我希望遊戲的呈現是執行後有個標題畫面, 球(或鳥)會在視窗中央上下飛翔
開始後有上下兩排障礙往左移動, 控制球避開障礙, 每避過1個加1分