12-2 Excel 仵蛌gJ

在MATLAB 計算得到的資料,也可以寫入 xls 工作表,便於進行資料的儲存、分享或作圖分析。寫入工作表所用到的指令是 xlswrite,基本範例如下:

Example 1: 12-與Excel試算表的整合/xlswrite01.mxlsFile = 'output01.xls'; xlswrite(xlsFile, randn(5)); dos(['start ' xlsFile]);

在上述範例中,我們將一個 5x5 的亂數矩陣寫入 Excel 檔案output01.xls(由於我們並未指定工作表名稱,所以 MATLAB 會將資料直接寫到預設的 Sheet1 工作表),並直接開啟此檔案,所得到的視窗如下:

在使用 xlswrite 寫入資料時,也可以指定工作表的名稱,或是指定寫入的資料儲存格,範例如下:

Example 2: 12-與Excel試算表的整合/xlswrite02.mxlsFile = 'output02.xls'; sheetName='7x7魔方陣'; [status, message] = xlswrite(xlsFile, magic(7), sheetName) xlswrite(xlsFile, {'以上是7x7魔方陣'; date}, sheetName, 'B8:B9'); dos(['start ' xlsFile]);status = 1 message = message: '' identifier: ''

在上述範例中,我們將一個 7X7 的魔方陣寫入檔案 output02.xls(所回傳的 status=1 代表寫入成功,message 則是說明相關的操作名稱),並將兩個字串('以上是7x7魔方陣' 以及目前日期)分別寫入 B8:B9 的資料儲存格,所開啟的 Excel 視窗如下:

在下一個範例中,我們將自由落體的資料(位置對時間)寫入一個 Excel 檔案,如下:

Example 3: 12-與Excel試算表的整合/xlswrite03.mxlsFile = 'output03.xls'; sheetName='位置對時間的變化'; data={'時間 (sec)', '位置 (m)'}; for i=1:5 data{i+1,1}=i; data{i+1,2}=0.5*9.8*i^2; end [status, message] = xlswrite(xlsFile, data, sheetName); dos(['start ' xlsFile]);

所開啟的 Excel 檔案如下:

Hint
  • 若要對Lotus 123試算表進行讀寫,可以使用wk1read/wk1write。
  • 若要對一般的文字檔案進行類似xlsread/xlswrite的功能,可以使用csvread/csvwrite以及dlmread/dlmwrite等指令。
  • 若要查詢MATLAB可以讀取的各種檔案格式,可由「help fileformats」來取得相關的線上支援。


MATLAB程式設計:進階篇