我使用fprintf
将矢量值输出到文本文件。是否可以在打印的每个矢量的末尾添加换行符,而无需两次调用fprintf
?
生成所需输出1 2 3 4
的示例,但下面有两次调用fprintf
。
A = [1 2 3 4];
fprintf('%d ', A)
fprintf('\n')
例如,如果您尝试使用fprintf('%d \n', A)
,则会在每个打印的数字后产生不希望的添加换行符的效果:
>> fprintf('%d \n', A)
1
2
3
4
我问的是一般的好奇心。对性能的影响当然可能很小。
答案 0 :(得分:4)
不是一个优雅的解决方案,但是......
fprintf([repmat('%d ',1,numel(A)) '\n'], A)
或者,正如@nikkola所说:
fprintf([repmat('%d ',1,numel(A)-1) '%d\n'], A)
删除换行符之前的尾随空格。
答案 1 :(得分:2)
使用sprintf
的另一个不优雅的解决方案:
A = [1 2 3 4];
fprintf('%s\n',sprintf('%d ', A))