我正在尝试将由新行分隔的字符串单元格数组合并为 Matlab 中的一个字符串。以下方法合并字符串,但最终字符串包含 \n 而不是新行:
function str = toString(self)
% some not important logic that creates cell array called strings
% ...
str = '';
for i = 1 : 9
str = strcat(str, strings(i), '\n');
end
end
它返回:' 111\n 111\n 111\n333666444555\n333666444555\n333666444555\n 222\n 222\n 222\n'
当我str = sprintf(str);
在方法结束之前添加时,它返回 Invalid format 错误。但是,当我写入 Matlab 命令窗口sprintf(' 111\n 111\n 111\n333666444555\n333666444555\n333666444555\n 222\n 222\n 222\n');
时,它会返回格式化字符串而没有任何错误。
任何人都知道可能是什么问题?为什么它在命令窗口中有效,但在 .m 文件中无效?