MATLAB MAT 檔案

Ammar Ali 2023年1月30日 2021年4月29日
  1. 使用 MATLAB 中的 matfile() 函式建立 MAT 檔案
  2. 使用 MATLAB 中的 save() 函式將資料儲存在 MAT 檔案中
  3. 使用 MATLAB 中的 load() 函式從 MAT 檔案中載入資料
MATLAB MAT 檔案

在本教程中,我們將討論如何使用 MAT 檔案在 MATLAB 中儲存和載入資料。

使用 MATLAB 中的 matfile() 函式建立 MAT 檔案

你可以使用 matfile() 函式建立具有特定名稱的 MAT 檔案。你必須在函式中傳遞檔名和副檔名才能建立它。例如,讓我們使用 matfile() 函式建立一個檔名為 fileName.mat 副檔名的 MAT 檔案。請參見下面的程式碼。

mat_file = matfile('fileName.mat')

你也可以使用 matfile() 函式啟用或禁用 MAT 檔案的寫訪問。例如,請參見下面的程式碼。

mat_file = matfile('fileName.mat','Writable',true)

在上面的程式碼中,我們將對檔案的寫訪問許可權設定為 true,這意味著我們可以將資料儲存在其中,如果寫訪問許可權為 false,則無法將資料儲存到檔案中。

使用 MATLAB 中的 save() 函式將資料儲存在 MAT 檔案中

你可以使用 save() 函式將任何型別的資料儲存在 MAT 檔案中。例如,讓我們在上面建立的 MAT 檔案中儲存一個矩陣和一個單元格。請參見下面的程式碼。

myMatrix = [1 2 3; 4 5 6];
myCell = {'a','b','c'};
mat_file = matfile('fileName.mat','Writable',true);
save('fileName.mat','myMatrix')
mat_file.myCell = myCell;

在上面的程式碼中,我們使用 save() 函式將 myMatrix 儲存在 MAT 檔案 fileName.mat 中。我們還使用物件 mat_filemyCell 儲存在 MAT 檔案 fileName.mat 中。如果使用 save() 函式儲存資料,它將覆蓋現有資料,但是,如果你使用檔案的物件,它將不會更改先前的資料,並將被單獨儲存在 MAT 檔案中。請注意,MAT 檔案將儲存在 .m 檔案的當前目錄中。如果要更改目錄,則必須在該特定檔案中建立一個新的 .m 檔案,然後將 MAT 檔案儲存在那裡。

使用 MATLAB 中的 load() 函式從 MAT 檔案中載入資料

你可以使用 load() 函式從 MAT 檔案中載入資料。例如,讓我們從上面建立的 MAT 檔案中載入資料。請參見下面的程式碼。

data = load('fileName.mat')

在上面的程式碼中,我們使用 load() 函式載入了 MAT 檔案 fileName.mat。確保檔案與 .m 檔案位於同一目錄中;否則,MATLAB 將給出錯誤。要從其他目錄載入 MAT 檔案,則必須傳遞完整的檔案路徑以及其名稱和副檔名以進行載入。例如,請參見下面的程式碼。

data = load('C:\myFolder\myFile.mat')

你可以使用 whos 功能檢查變數的資訊,例如變數型別和大小,這些資訊儲存在已載入的 MAT 檔案中。例如,讓我們檢查儲存在上述 MAT 檔案 fileName.mat 中的變數。請參見下面的程式碼。

whos('-file','fileName.mat')

輸出:

  Name          Size            Bytes  Class     Attributes

  myCell        1x3               318  cell                
  myMatrix      2x3                48  double  

從輸出中可以看到,MAT 檔案 fileName.mat 具有 cell 陣列和儲存在其中的矩陣。如果只想從 MAT 檔案中提取並列印一個變數,則可以使用該變數的名稱來提取它。例如,讓我們從上面的 MAT 檔案中提取變數 myCell。請參見下面的程式碼。

data = load('fileName.mat');
mat = data.myMatrix

輸出:

mat =

     1     2     3
     4     5     6

從輸出中可以看到,我們已經從 MAT 檔案中提取了所需的變數,並將其儲存在變數 mat 中。檢視此連結以獲取有關 MAT 檔案的更多資訊。

Author: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook