MAT文件打開方法匯總及其他操作

      網友投稿 1489 2025-04-01

      1 MAT文件


      是MATLAB使用的一種特有的二進制數據文件。MAT文件可以包含一個或者多個MATLAB 變量。MATLAB通常采用MAT文件把工作空間的變量存儲在磁盤里,在MAT文件中不僅保存各變量數據本身,而且同時保存變量名以及數據類型等。所以在MATLAB中載入某個MAT文件后,可以在當前MATLAB工作空間完全再現當初保存該MAT 文件時的那些變量。這是其他文件格式所不能的。同樣,用戶也可以使用MAT文件從MATLAB環境中導出數據。MAT文件提供了一種更簡便的機制在不同操作平臺之間移動MATLAB數據。

      在MATLAB環境中,通常使用load和save兩個命令進行 MAT 文件的讀和寫。在默認情況下,這兩個命令以 MAT 文件格式處理文件

      2 load 函數的使用

      load函數可以從MAT文件中讀取數據,例如要讀取mymat.dat文件,可以直接執行命令load mymat.dat,因為給出要讀取的文件的后綴名是MAT,因此命令則以MAT文件格式讀取數據,否則將以文本文件讀取數據。命令中的文件名可以包含單引號,也可以不包含,也就是說該函數也可以這樣調用:load 'mymat.mat' 。

      load 函數還可以指定只讀取文件中的某幾個變量,只需在文件名之后列出想要讀取的變量的變量名就可以了,變量名也可以使用通配符。

      比如命令load mymat.mat y*,執行結果就是將文件中所有以y開頭的變量讀取出來。

      load還有一種函數形式的調用方式。這種調用方式就要求文件名必須是字符串,比如要導入mymat.mat文件,那么函數形式的調用必須是s =load('mymat.mat')。

      例子:

      A = ones(3); B = eye(3,4); C = rand(3); save lx; clear; clc

      這時,變量A B C 均被存入文件lx中。

      S = load('lx', 'A', 'B');

      A

      顯示:

      A =

      1 1 1

      1 1 1

      1 1 1

      3 save函數的使用

      save 函數的功能是把當前MATLAB工作空間的一個或多個變量存寫到外部文件。在默認情況下,save 函數以MAT格式存寫數據。若在命令中直接調用該函數,不帶任何參數,執行結果是把MATLAB工作空間的所有變量保存到系統默認的matlab.mat文件中。當然,帶上文件名參數,就可以將當前工作空間中的所有變量存寫在指定的 MAT文件中。

      如果用戶需要保存指定的某幾個變量,只需在文件名參數后,列出要保存的文件名即可。比如,命令save mymat.matx,y,z執行后的結果就是將當前工作空間中的變量 x,y,z保存到mymat.mat文件中,要求x,y,z是當前工作空間中已經存在的變量。

      此外,還有幾個與mat文件操作相關的函數

      matopen 打開mat文件

      matclose 關閉mat文件

      magetfp 取得mat文件的C語言句柄

      matGetArray 取得一個數組

      4 在普通的C/C++程序中讀寫MAT文件

      使用MATLAB 提供的MAT 文件接口函數

      在C/C++程序中有兩種方式可以讀取MAT文件數據。一種是利用MATLAB提供的有關MAT文件的編程接口函數。MATLAB的庫函數中包含了MAT文件接口函數庫,其中有各種對MAT文件進行讀寫的函數,都是以mat開頭的函數。如表2-10所示。

      C語言中的MAT文件讀寫函數

      MAT 函 數

      功 能

      matOpen

      打開 MAT 文件

      matClose

      關閉 MAT 文件

      matGetDir

      從 MAT 文件中獲得 MATLAB 陣列的列表

      matGetFp

      獲得一個指向MAT 文件的ANSI C 文件指針

      matGetVariable

      MAT文件打開方法匯總及其他操作

      從MAT文件中讀取MATLAB陣列

      matPutVariable

      寫MATLAB陣列到MAT文件

      matGetNextVariable

      從MAT文件中讀取下一個MATLAB陣列

      matDeleteVariable

      從MAT文件中刪去下一個MATLAB陣列

      matPutVariableAsGlobal

      從MATLAB陣列寫入到MAT文件中

      matGetVariableInfo

      從MAT文件中讀取MATLAB陣列頭信息

      matGetNextVariableInfo

      從MAT文件中讀取下一個MATLAB陣列頭信息

      5 在C/C++程序中讀取MAT文件內容

      另外一種在C/C++程序中讀寫 MAT 文件的方法是根據 MAT 文件結構,以二進制格式在C/C++中讀入文件內容,然后解析文件內容,從而獲得文件中保存的MATLAB數據。因為MAT文件格式是公開的,用戶只要在找到安裝路徑下的一個名為matfile_format,pdf的文件,就可以詳細了解 MAT 文件結構,從而在C/C++程序中以二進制格式讀取文件內容,解析以后得到文件中保存的數據。

      C++ MATLAB

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:怎么刪除全屏
      下一篇:一步刪除空白段落
      相關文章
      亚洲av综合色区| 亚洲国产午夜电影在线入口| 亚洲视频.com| www.亚洲一区| 亚洲AV综合永久无码精品天堂| 亚洲男人的天堂久久精品| 伊人久久综在合线亚洲2019| 亚洲AV无码专区亚洲AV伊甸园 | 亚洲欧美日韩中文字幕在线一区 | 国产精品亚洲专区在线观看| 亚洲综合无码一区二区痴汉| 亚洲日日做天天做日日谢| 亚洲第一页中文字幕| 亚洲剧场午夜在线观看| 亚洲乱码一区av春药高潮| 2020年亚洲天天爽天天噜| 亚洲一区AV无码少妇电影| 亚洲日韩AV一区二区三区中文| 亚洲国产av玩弄放荡人妇| 毛片亚洲AV无码精品国产午夜| heyzo亚洲精品日韩| 亚洲一区无码精品色| 亚洲男同帅GAY片在线观看| 亚洲AV综合色区无码另类小说| 久久久久亚洲AV无码专区体验| 亚洲国产精品美女| 亚洲色偷偷偷综合网| 豆国产96在线|亚洲| 亚洲一区二区三区无码影院| 综合久久久久久中文字幕亚洲国产国产综合一区首| 亚洲熟女乱色一区二区三区| 国产偷国产偷亚洲清高APP| 亚洲国产精品嫩草影院久久| 亚洲色精品aⅴ一区区三区| 久久久亚洲精品无码| 亚洲男人电影天堂| 亚洲人成电影网站色| 亚洲M码 欧洲S码SSS222| 亚洲午夜无码久久久久| 亚洲精选在线观看| 亚洲av午夜精品无码专区|