Matlab的命令行窗口内容的记录-利用diary记录日志/保存命令窗口输出

问题

Matlab的命令行窗口内容的记录-利用diary记录日志/保存命令窗口输出

怎么操作

解决方案

在 MATLAB 中,你可以使用 diary 命令来记录命令行窗口的所有输出 (包括 disp、fprintf、警告、错误信息等),保存到一个日志文件中。非常适合做日志追踪或调试记录。


✅ 基本用法

开始记录输出到文件:

matlab 复制代码
diary('logfile.txt')   % 开始记录,保存到 logfile.txt

文件将被保存在当前工作目录下。

停止记录:

matlab 复制代码
diary off

重新开始(追加模式):

matlab 复制代码
diary on

🧠 补充说明

  • 如果你再次运行 diary('logfile.txt'),它会覆盖原文件;
  • 如果你想"追加"而不是"覆盖",先使用 diary on,不要指定文件名;
  • 如果你不 diary off,文件将持续记录你所有输出,直到 MATLAB 关闭或你手动关闭。

✅ 使用范例:在脚本或主函数中记录运行日志

matlab 复制代码
% 开始记录
logfile = ['runlog_', datestr(now, 'yyyymmdd_HHMMSS'), '.txt'];
diary(logfile);

disp('🟢 开始运行主程序...');

% 执行主程序
main_ga_optimize;

disp('✅ 程序运行完毕。');
diary off;

✅ 查看日志内容

你可以直接在 MATLAB 中打开:

matlab 复制代码
edit logfile.txt

或者用系统文本编辑器查看(如 Notepad)。


✅ 日志中包含什么?

内容类型 是否记录
disp(...) ✅
fprintf(...) ✅
报错信息 ✅
警告信息 ✅
输入命令 ✅(如果是命令窗口交互输入)

✅ 实战建议

你可以在 GA 优化任务前后包裹:

matlab 复制代码
diary('ga_runlog.txt');
fprintf('开始时间:%s\n', datestr(now));

% run your GA...

fprintf('结束时间:%s\n', datestr(now));
diary off;

相关推荐
纪念 2297 分钟前
C++ 算法(模拟)
开发语言·c++·算法
niucloud-admin15 分钟前
NIUCLOUD PHP SAAS上门家政使用文档--服务订单:评价列表
开发语言·php
Wang's Blog25 分钟前
Java 项目实战: 交友项目 - 项目:需求分析与滑动数据设计
java·开发语言·交友
gz927cool42 分钟前
Python 全栈应用最佳实践完整指南
开发语言·python·ai
CoderYanger1 小时前
Java EE 进阶:5. Spring IoC&DI(第三弹):Spring DI
java·开发语言·spring boot·spring·面试·java-ee·mvc
AIFQuant1 小时前
Python期货行情API接入:股指、黄金、原油多品种数据管道实战
开发语言·python·金融·区块链·量化开发
echome8881 小时前
JavaScript async/await 错误处理:别让 Promise 静默失败
开发语言·前端·javascript·promise
运维行者_1 小时前
供应链安全成最大风险源,企业如何构建可控的运维体系?
运维·开发语言·网络·数据库·安全·云计算·流量监控
.YM.Z1 小时前
优选算法——【双指针算法2】C++实现
开发语言·c++·算法
逆向编程1 小时前
MATLAB高级数据结构:cell、struct与table深度应用
开发语言·数据结构·matlab