LabVIEW儲存dat檔案,Matlab讀取
LuoBeiCe 記錄自學LabVIEW遇到的各種問題
問題:在LabVIEW中將一個二維陣列儲存至dat檔案,然後在matlab裡面讀取。
一:LabVIEW儲存陣列至dat檔案
描述:上半部分產生一個10X10的隨機二維陣列。
“開啟檔案”函式的輸入引數有三個。分別為:1.檔案儲存路徑。2.“creat”:建立新檔案,如果檔案已存在,則報錯。3.“write-only”,只對檔案進行寫的操作。
"寫入二進位制檔案"函式輸入引數有:1.要儲存的二維陣列。2.檔案儲存路徑。3.錯誤簇。4.“little-endian"。這個引數最好選擇這個,不要使用預設的引數。
”關閉檔案“函式。
執行程式,前面板顯示如下:
而且對應資料夾裡也多了一個”測試5,dat“的檔案。
二:接下來使用Matlab讀取這個檔案。
Matlab的程式碼如下:
描述:”fopen":開啟dat檔案。
L,H:是我事先存好的二維陣列的大小。
“fread”:讀取dat檔案裡面的資料。注意:前面我提到LabVIEW寫入二進位制檔案其中一個輸入引數為“little-endian”,就是因為
Matlab讀取二進位制檔案預設採取的就是“little-endian"模式,這個方面兩者一定要配合好,否則可能會有問題。因為二維數
組是double型別,所以這裡也要指明。
B = A(2:(L*H+1)):這個地方很重要。Matlab讀取的結果會比存的陣列多一位,並排成一列。比如我之前存的為10X10的二維陣列。
Matlab讀出來就是101X1個,多出來第一位為0。因此我們需要取第二位及後面的。
”reshape“:把讀出來的資料重新排序。最終的陣列就儲存在變數C裡面。
執行結果如圖:
任務就完成了。