You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux终端运行MATLAB代码时输出丢失、仅显示最后一行的问题求助

问题原因与解决方法

你的问题出在MATLAB脚本里的**回车符\r**上:

  • 在Linux终端环境中,\r的作用是将光标移到当前行开头,而非换行。后续执行的fprintf会从行首开始输出,直接覆盖之前的内容,因此最终只能看到最后一条输出。
  • MATLAB GUI的命令窗口对\r的解析逻辑不同,会将其当作换行处理,所以能正常显示所有输出。

解决步骤

直接把脚本里的\r替换成换行符\n即可,修改后的脚本如下:

% matlab_example_file.m

a = 5;
b = a*a;
c = a*a*a;
d = sqrt(a);
fprintf('%4u square equals %4u \n', a, b)
fprintf('%4u cube equals %4u \n', a, c)
fprintf('The square root of %2u is %6.4f \n', a, d)

运行命令保持不变:

matlab2021a -nodesktop -nosplash -nodisplay -r "run('/path/to/matlab_file/matlab_example_file.m');exit;"

修改后,终端里每一条fprintf的内容都会单独占一行,不会被后续输出覆盖,就能看到全部预期结果了。

内容的提问来源于stack exchange,提问作者newstudent

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 08:25:30