MATLAB Function Reference |
Graphical Interface
除了用save函數之外,也可以從檔案(file)目錄下的 Save Workspace As選項儲存。
Syntax
save save filename save filename var1 var2 ...save ...
option
save('filename', ...)
Description
save
一如其名,會將工作空間中的所有變數用二進制的型態儲存在目前的工作目錄下,並將其名為
matlab.mat
。用load
指令取回資料。
MAT檔案為倍精確,二進制 MATLAB格式的檔案。他們可以在一部機器上產生並且在另一部機器上用MATLAB以不同的浮點數格式讀出,而依然能保持另一格式的精確度。他們也可以讓MATLAB以外的程式取用。
save filename
將工作空間中的所有變數儲存在目前的工作目錄下。要存在其他的目錄下的話,請輸入完整的路徑。s
save filename var1 var2 ...
只將特定的變數存入filename.mat
。使用萬用字元
*可以儲存符合某種特殊形式的變數。
比如說,
save('A*')
會儲存所有的以A
開頭的變數。
save ...
option
根據 option
將工作空間中的變數用不同的格式儲存起來。
以ASCII格式儲存的變數會被合併成一個與檔名同名的變數,因此,一次最好只儲存一個變數。如果你存了一個以上的變數的話,載入檔案將會在工作空間中只產生一個與檔案同名的變數。用冒號( colon operator)可以取用各個獨立的變數。
當使用v4時,你只能儲存MATLAB第四版相容的資料結構。因此,你不能儲存結構,元素陣列多維陣列,或者物件。除此之外,你也必須使用MATLAB第四版相容的檔名。
將複數資料用-ascii
儲存將會導致虛數部分的遺失,因為MATLAB無法載入非數值資料('i')。
save('filename', ...)
是這個語法的函數形式。
MATLAB還提供了以下的其他函數可以讓使用者對檔案格式有更大的控制,請參照下列的 See Also部分。
Algorithm
save
指令所使用的二進位格式端賴陣列的大小與種類而定。包含非整數項目和陣列元素個數小於10000的陣列會用每個元素八個位元組(bytes)的浮點數格式儲存。陣列元素全為整數或元素個數大於10000的則用如下的格式存,每一個元素都只需要較少的位元組。
元素值範圍 |
每個元素所需位元組 |
0 to 255 |
1 |
0 to 65535 |
2 |
-32767 to
32767 |
2 |
-231+1
to 231-1 |
4 |
其他 |
8 |
External Interfaces to MATLAB 提供用C或Fortran讀取以及寫入MAT檔案所需的細節部分。最好使用建議的存取方法,而不要依靠特定的MAT檔格式,因為格式將來還是可能會有所改變。
Examples
要將所有的工作空間中的變數存到一個二進位的MAT檔案,
test.mat
鍵入
save test.mat
要將 p
和 q
兩個變數存到一個二進位的MAT檔, test.mat
鍵入
savefile = 'test.mat'; p = rand(1,10); q = ones(10); save(savefile,'p','q')
要將 vol
和 temp
兩個變數用ASCII 格式存到一個名為 june10
的檔案,鍵入
save('d:\mymfiles\june10','vol','temp','-ASCII')
See Also
diary
, fprintf
, fwrite
, load
, workspace
rsf2csf | saveas |