【问题标题】:How to save the contents of MATLAB's Command Window to a file?如何将 MATLAB 命令行窗口的内容保存到文件中?
【发布时间】:2011-08-15 13:22:03
【问题描述】:

我想将“命令行窗口”中的所有内容自动保存到文件中。有办法吗?

【问题讨论】:

  • “命令窗口”是指窗口的文本内容,还是本地工作区的内容?

标签: matlab file save command-window


【解决方案1】:

您有几个选项可用于从命令行窗口保存内容:

  • 您可以使用DIARY 命令执行此操作。您甚至可以自动执行此操作,以便它始终通过修改您的 startup.m 文件以打开文本日志记录来记录您所做的事情:

    diary('myTextLog.txt');  %# Text will be appended if this file already exists
    

    然后修改您的finish.m 文件以关闭注销:

    diary('off');
    

    这将自动存储每个 MATLAB 会话的命令行窗口的整个文本内容,这可能会变成一个相当大的文本文件。

  • 除了使用 DIARY 命令和修改 startup.mfinish.m 文件之外,另一个选择是使用 -logfile option 启动 MATLAB:

    matlab -logfile "myTextLog.txt"
    

    虽然我不确定这是否会在您每次启动 MATLAB 时覆盖或追加文本文件。

  • 如果您只想保存计算一个或多个表达式的输出,您可以使用 EVALC 函数来计算包含您的表达式的字符串并捕获通常会转到命令窗口的输出在字符数组中。然后,您可以使用FPRINTF 将此字符数组打印到文件中。

  • 最后,如果您对保存您键入的命令的 显示 输出不感兴趣,而只想自己存储 命令,那么Command History 是你想要的。 MATLAB 自动存储一个最大大小为 200,000 字节的 history.m 文件,并在添加新条目时删除最旧的条目。

【讨论】:

  • 请注意,这需要在会话开始时调用;它只会保存调用日记命令后发生的所有输出。
  • 只需将日记添加到startup.m。 mathworks.com/help/techdoc/ref/startup.html 然后根据启动时间或其他东西生成一个新的日记文件名。
  • 在 Octave 中,输入 history_file 以查看保存历史记录的路径。
  • 上述对于 MATLAB 的等价物是 prefdir
猜你喜欢
  • 2016-10-17
  • 2013-11-03
  • 1970-01-01
  • 2018-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-10
相关资源
最近更新 更多