matlab - fprintf:某个点后的新行
问题描述
请参阅下面的代码。
fileID = fopen('test.txt', 'w');
fprintf(fileID, '{%f, %f}, ', array1(1:end))
fclose(fileID)
我希望输出格式为:
{1,1}, {2,2}, {3,3}, {4,4},
{5,5}, {6,6}, {7,7}, {8,8},
...
但是,我反而得到:
{1,1}, {2,2}, {3,3}, {4,4}, {5,5}, {6,6}, {7,7}, {8,8}, ...
假设一个大型数据集。
我知道我可以在 fprintf 字段中添加一个 '\n' ,但这只会在每对值之后给我一个新行。
如何在“x”次“迭代”之后的某个点插入新行(在我的情况下,在每 4 对值之后)?
解决方案
为此,您必须为整行创建格式:
nb_pairs = 4;
format = [strjoin(repmat({'{%f, %f},'}, 1, nb_pairs), ' ') '\n'];
% format = '{%f, %f}, {%f, %f}, {%f, %f}, {%f, %f},\n'
fprintf(fileID, format, array1);