2016-03-09 85 views
0

我在MATLAB一堆.MAT文件已被保存爲A1.mat,A2.mat,A3.mat等.MAT文件追加從.MAT文件中的數據,以規定的範圍包含數字的矩陣。 我試圖追加從每個.MAT文件已經存在的Excel文件,其中.MAT數據應放置在一定範圍內的excel表中的數據(A1.xlsx,A2.xls,A3.xls)。 我需要將.mat數據放置在範圍B2:F10中,因爲我在第一行A1:F1和第一列A1:A10中預定義了標題。 我也有一些預定義的公式在G2列:G10的Excel表格中,我想對添加的.mat數據做一些計算。Matlab的:在Excel工作表

我有.MAT數據,直到A60(因而Excel文件,直到A60.xls),所以希望這可以在一個循環中完成。

我已經試過dlmwrite「-append」,但它不會讓我指定Excel範圍也保持預設公式在Excel表。

有誰知道如何做到這一點的線索?

所有幫助非常感謝!

乾杯

回答

0

而不是使用dlmwrite()您可以使用任csvwrite()writetable()xlswrite()
然而,你應該注意以下幾點:

  • csvwrite()作品只的.csv文件,所以你應該隱蔽的.xls爲.csv
  • (可以使用Excel自身來完成)與writetable()你必須轉換表中的矩陣(的mat2cell()組合,然後cell2table()

他們都讓你,反正到指定行/列偏移來寫你的數據:

    csvwrite()這種偏移
  • 可使用第三和第四輸入參數指定在writetable()
  • 必須指定Range名稱/值
  • xlswrite()第三輸入參數是,可以在其中指定的excel一個串你想寫的單元格範圍(例如, 'A1:A10'

更多相關信息可以在各自的幫助頁面中找到:
幫助writetable here
幫助csvwrite here
幫助xlswrite here

+0

其實我已經試過了,但我可以不知道我怎樣才能追加新的數據,同時保存.csv文件中已經指定的數據和公式,除了指定我想追加的數據在範圍B2:F10?你可以寫這個例子嗎? Thansk很多。 – user6034094

+0

另外我有2011 MATLAB的版本,所以我沒有內置writetable()函數,可惜....但我能夠使用csvwrite但是我不能「追加」數據到東西我已經在.csv文件中。你知道如何做到這一點?謝謝 – user6034094

+0

我用另一個建議編輯了我的問題,那就是'xlswrite()'。在'xlswrite()'中,您可以指定第三個輸入參數,即單元格區域。所以你可以通過調用'xlswrite()'來輕鬆地在B2:F10範圍內編寫你的矩陣,如下所示:'xlswrite('myFile.xlsx',myMatrix,'B2:F10')' – Alessiox