Matlab的命令行窗口内容的记录-利用diary记录日志/保存命令窗口输出
问题
Matlab的命令行窗口内容的记录-利用diary记录日志/保存命令窗口输出
怎么操作
解决方案
在 MATLAB 中,你可以使用 diary
命令来记录命令行窗口的所有输出(包括 disp
、fprintf
、警告、错误信息等),保存到一个日志文件中。非常适合做日志追踪或调试记录。
✅ 基本用法
开始记录输出到文件:
diary('logfile.txt') % 开始记录,保存到 logfile.txt
文件将被保存在当前工作目录下。
停止记录:
diary off
重新开始(追加模式):
diary on
🧠 补充说明
- 如果你再次运行
diary('logfile.txt')
,它会覆盖原文件; - 如果你想“追加”而不是“覆盖”,先使用
diary on
,不要指定文件名; - 如果你不
diary off
,文件将持续记录你所有输出,直到 MATLAB 关闭或你手动关闭。
✅ 使用范例:在脚本或主函数中记录运行日志
% 开始记录
logfile = ['runlog_', datestr(now, 'yyyymmdd_HHMMSS'), '.txt'];
diary(logfile);disp('🟢 开始运行主程序...');% 执行主程序
main_ga_optimize;disp('✅ 程序运行完毕。');
diary off;
✅ 查看日志内容
你可以直接在 MATLAB 中打开:
edit logfile.txt
或者用系统文本编辑器查看(如 Notepad)。
✅ 日志中包含什么?
内容类型 | 是否记录 |
---|---|
disp(...) | ✅ |
fprintf(...) | ✅ |
报错信息 | ✅ |
警告信息 | ✅ |
输入命令 | ✅(如果是命令窗口交互输入) |
✅ 实战建议
你可以在 GA 优化任务前后包裹:
diary('ga_runlog.txt');
fprintf('开始时间:%s\n', datestr(now));% run your GA...fprintf('结束时间:%s\n', datestr(now));
diary off;