【发布时间】:2015-12-04 15:24:49
【问题描述】:
我正在使用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
我是出于普遍的好奇而问的。对性能的影响当然可能很小。
【问题讨论】:
-
实际上,如果你有很多这样的调用,对性能的影响可能会很大。 MATLAB 的 I/O 函数的旧行为是在每次写入后刷新文件缓冲区。不确定是否仍然如此,但我不认为这些函数是 MathWorks 的优先事项......
-
@CST-Link 等:如果您正在写入文件,有一种禁用自动刷新的方法:High Performance File I/O。我不确定在这种情况下这是否适用于数组参数,或者在其他情况下是否可以禁用自动刷新。
-
如果您需要良好的性能,您可能应该使用
dlmwrite()...