【问题标题】:How to record data automatically on excel that is generated on Matlab如何在 Matlab 上生成的 Excel 中自动记录数据
【发布时间】:2016-06-14 14:20:35
【问题描述】:

我是 MATLAB 新手,我目前有一个脚本,它每秒为变量 n 生成不同的值。所以我最终需要将 100 条数据传输到 excel 中。目前,我通过复制粘贴来手动执行此操作,但确实需要很长时间。

我考虑过使用 xlswrite 命令,但它只是在第一列上写入数据,并在生成新数据时不断覆盖该列。

你能帮助我或引导我更轻松地解决这个问题吗?

【问题讨论】:

  • 在 MATLAB 中写入 csv 文件并继续附加到文件末尾(而不是覆盖)很容易。这是一个足够的解决方案吗?您还可以在 MATLAB 中跟踪所有数据,然后每次都编写一个完整的 xls 文件。
  • 谢谢,我知道了 dmlwrite append 命令,我会用那个。

标签: excel matlab


【解决方案1】:

如果你真的想在代码运行时直接写到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 进程停止
  • 特别是对于大数据,它会比后处理慢得多
  • 您必须在同一台 PC 上安装 Excel 和 MATLAB

使用连续写入的简单文本文件可能是更好的选择,fprintf(使用相同的文件句柄,它将追加)或dlmwrite(使用追加选项)。

【讨论】:

  • 感谢您的回复,我认为现在我将使用 dmlwrite,这似乎是最简单且有效的选择。
猜你喜欢
  • 1970-01-01
  • 2012-12-06
  • 2013-03-21
  • 2018-10-21
  • 2020-05-21
  • 1970-01-01
  • 2013-12-06
  • 1970-01-01
  • 2019-08-21
相关资源
最近更新 更多