2016-03-01 50 views
0

我是MATLAB新手,我目前有一個腳本,每秒爲變量n生成不同的值。所以我最終需要將100個數據傳輸到excel。目前,我通過複製粘貼來手動執行此操作,但確實需要很長時間。如何在Matlab上生成的excel中自動記錄數據

我曾考慮過使用xlswrite命令,但它只是在第一列上寫入數據,並在生成新數據時一直覆蓋該列。

你能幫助我還是讓我更容易的方法呢?

+1

在MATLAB中寫入csv文件很容易,並且不斷覆蓋文件末尾(而不是覆蓋)。這是一個足夠的解決方案? 你也可以跟蹤MATLAB中的所有數據,然後每次寫一個完整的xls文件。 –

+1

謝謝,我發現了關於dmlwrite append命令,我將會使用它。 – hTeeML

回答

2

如果您確實想在代碼運行時直接寫入excel,則可以使用activex。一些有據可查的示例代碼可以在this answer中找到。在中間的某個地方,您可以找到此代碼:

% select a 5x5 range, and fill it with some numeric values 
sheet.Range('A1:E5').Value = num2cell(magic(5)); 

這裏您將其替換爲連續寫入數據的循環。

使用此解決方案時請小心。

  • 與Excel的問題能阻止你的MATLAB進程特別是對於大型數據
  • 它會比慢得多安裝
後處理
  • 你不得不有Excel和MATLAB在同一臺PC上

    使用連續寫入的簡單文本文件可能是更好的選擇,可以是fprintf(使用相同的文件句柄,它將追加)或dlmwrite(使用追加選項)。

  • +1

    感謝您的回覆我認爲現在我將使用dmlwrite,這似乎是最簡單的工作選項。 – hTeeML

    相關問題