簡明教程 C程式讀取.mat格式的Matlab資料檔案
阿新 • • 發佈:2019-02-16
之前需要Matlab儲存訓練資料,並由C呼叫,直接用.txt時,讀取有些慢,就想用.mat標準格式存取,而且Matlab有自帶API
C程式讀取.mat,網上有教程,而且Matlab官方也有教程和例子,這裡就簡明介紹,另外本文的方法不用配置路徑,程式碼放到沒安裝過Matlab的機器上也可以跑,方法如下:
一、儲存mat檔案
在Matlab中用save函式儲存變數到.mat檔案(任何格式的變數均可,matrix,struct,cell都能讀)
二、讀取mat檔案
在C程式中,用對應的函式,開啟和讀取該檔案即可
大功告成!
matlabroot\extern\examples\eng_mat
三、掙脫依賴
為了讓不裝Matlab的機器也能跑,餅哥放棄設定引用路徑,而將所有依賴項都複製到專案目錄下,需要以下這些檔案:
libmat.lib
libmx.lib
mat.h
matrix.h
tmwtypes.h
這些dll是我執行exe缺一個,補一個找的,可謂嘔心瀝血
Q&A
Q: 版本
A: Matlab2015a
Q: 自己寫的讀取程式碼各種出錯,而且不知原因所在?
A: 一般是記憶體報錯,說明解析時,變數讀取的層級有誤,說白了讀取的C程式碼寫錯了
對照官方示例,一層層耐心剖析方能解決