1. 程式人生 > >簡明教程 C程式讀取.mat格式的Matlab資料檔案

簡明教程 C程式讀取.mat格式的Matlab資料檔案

之前需要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程式碼寫錯了
對照官方示例,一層層耐心剖析方能解決