Matlab變量存儲與讀取

mat文件的存儲和讀取

 

先介紹下Matlab存儲和讀取數據的一種方法

Matlab保存數據

     ● save:將工作區中的所有變量保存在當前工作區中的文件中,文件名爲 matlab.mat,MAT文件可以通過load函數再次導入工作區,MAT函數可以被不同的機器導入,甚至可以通過其他的程序調用。
     ● save('filename'):將工作區中的所有變量保存爲文件,文件名由filename指定。如果filename中包含路徑,則將文件保存在相應目錄下,否則默認路徑爲當前路徑。
     ● save('filename', 'var1', 'var2', ...):保存指定的變量在 filename 指定的文件中。
     ● save('filename', '-struct', 's'):保存結構體s中全部域作爲單獨的變量。
     ● save('filename', '-struct', 's', 'f1', 'f2', ...):保存結構體s中的指定變量。
     ● save('-regexp', expr1, expr2, ...):通過正則表達式指定待保存的變量需滿足的條件。
     ● save('..., 'format'),指定保存文件的格式,格式可以爲MAT文件、ASCII文件等。

Matlab用load讀取文件:

       ● load:如果matlab.mat文件存在,導入matlab.mat中的所有變量,如果不存在,則返回error。
       ● load filename:將filename中的全部變量導入到工作區中。
       ● load filename X Y Z ...:將filename中的變量X、Y、Z等導入到工作區中,如果是MAT文件,在指定變量時可以使用通配符“*”。
       ● load filename -regexp expr1 expr2 ...:通過正則表達式指定需要導入的變量。
       ● load -ascii filename:無論輸入文件名是否包含有擴展名,將其以ASCII格式導入;如果指定的文件不是數字文本,則返回error。
       ● load -mat filename:無論輸入文件名是否包含有擴展名,將其以mat格式導入;如果指定的文件不是MAT文件,則返回error。


遇到的問題及解決辦法

將程序裏的某個變量存成mat文件,save('arr1', 'X11');

讀取的時候,用X111 = load('arr1');

但是讀出來是一個結構體。想要恢復成數組需要用struct2cell(把結構體轉換爲元胞數組

X111=cell2mat(struct2cell(load('arr1.mat')));

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章