精華區beta MATLAB 關於我們 聯絡資訊
※ 引述《yydevil (.........)》之銘言: : 不好意思請問一下 : 我讀excel檔案時語法是用 A=xlsread('ABC.xls'); : 但是我要讀的是一個200 by 5的矩陣 : 結果出現錯誤 : Warning: See help sprintf for valid escape sequences. : > In iofun\private\validpath at 59 : In xlsread at 187 : ??? XLSREAD unable to open file ABC.xls. : Error using ==> iofun\private\validpath : MATLAB:C: : 可是我用這種語法隨便讀個2 by 3的矩陣就ok : 難道有限制矩陣的大小嗎 : 如果有該如何解決呢 謝謝 可試試底下的方法 假設 ABC.xls 在 Sheet1 中,從 B2~F201 已放置 200 by 5 的矩陣 而 matlab 檔案(xxx.m) 和 ABC.xls 置於同資料夾 xxx.m 的內容如下 =========================================================================== %% 開啟 ABC.xls Excel = actxserver('Excel.Application'); set(Excel, 'Visible', 1); Workbooks = Excel.Workbooks; Workbook = invoke(Workbooks, 'Open', [cd,'\ABC.xls']); %% 讀取 ABC.xls:sheet1 B2(即 R2C2)~F201(即 R201C6) 範圍內的 200 by 5 矩陣 read_excel=ddeinit('excel','ABC.xls:sheet1'); getmatrix = ddereq(read_excel, 'r2c2:r201c6'); getmatrix %% 關閉 ABC.xls invoke(Excel, 'Quit'); delete(Excel); ============================================================================ 寫法的參考來源: http://www.mathworks.com/support/solutions/data/1-17PWC.html?1-17PWC http://www.mathworks.com/support/solutions/data/1-19BU0.html?1-19BU0 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.68.236.29