【问题标题】:How to call MATLAB from command-line and print to stdout before exiting如何从命令行调用 MATLAB 并在退出前打印到标准输出
【发布时间】:2011-01-06 02:18:53
【问题描述】:

我正在尝试从命令行运行 MATLAB 脚本,但在让 MATLAB 将结果返回到标准输出时遇到问题。

运行以下命令时,MATLAB 会打印许可证横幅并退出而不打印消息。

matlab -nodisplay -nojvm -r "fprintf(1, 'value: %f\n', 2.0); quit;"

*注意:我目前正在运行版本 7.10.0.499 (R2010a) 64 位 (maci64)

【问题讨论】:

标签: matlab command-line


【解决方案1】:

正如related post 中所示,您可以使用-logfile 选项将所有输出复制到文件中。

matlab -nodisplay -nojvm -logfile out.txt -r "fprintf(1, 'value: %f\n', 2.0); quit;"

Windows 上,使用 -wait 命令行选项阻止脚本的执行,直到 MATLAB 关闭。

Unix上,可以使用sleep 5s休眠5秒,或者使用wait命令暂停执行直到进程完成:

#!/bin/sh
matlab -nodisplay -logfile out.txt -r "rand(3), quit"
wait $(ps | grep matlab | awk '{print $2}') && cat out.txt

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-07
    • 2011-02-02
    • 1970-01-01
    • 1970-01-01
    • 2011-09-14
    • 2013-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多