函数 warningerrorsprintffprintf 会将 \n 解释为换行符。例如:

>> error('This error\nhas a newline.')
??? This error
has a newline.

虽然本 Wiki 的早期版本曾声称此功能是在 MATLAB 6.5(R13)中引入的,但实际上在 7.4.0(2007a)版本中并不起作用。而在该版本的发布说明中所谓“格式化错误字符串的引入”并没有对此提供有用的解释。

如果你使用的 MATLAB 版本不支持直接在字符串中使用 \n 换行,可以使用 sprintfchar(10) 来实现换行:

>> error(sprintf('This error\nhas a newline.'))
??? This error
has a newline.

>> disp(['abcd' char(10) 'efgh'])
abcd
efgh

或者也可以这样写:

>> disp(['abcd', 10, 'efgh'])
abcd
efgh

从 MATLAB 2016b 版本起,推荐使用 newline 函数,以提高代码的可读性:

>> disp(['abcd' newline 'efgh'])
abcd
efgh

最后修改: 2025年04月16日 星期三 12:02