Вы можете построить строку формата во время выполнения , используя x
в качестве параметра:
x = 4;
fprintf(fileID, [repmat('{%f, %f}, ',1,x-1) '{%f, %f},\n'], array1(1:end))
Пример в окне команд:
>> array1 = [1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8];
>> fileID = 1; % STDOUT
>> x = 4;
>> fprintf(fileID, [repmat('{%f, %f}, ',1,x-1) '{%f, %f},\n'], array1(1:end))
печать
{1.000000, 1.000000}, {2.000000, 2.000000}, {3.000000, 3.000000}, {4.000000, 4.000000},
{5.000000, 5.000000}, {6.000000, 6.000000}, {7.000000, 7.000000}, {8.000000, 8.000000},
Если вам нужно удалить последнюю запятую , добавьте
fprintf(fileID, '\b\b\n')
в конце.Так, в предыдущем примере
>> fprintf(fileID, [repmat('{%f, %f}, ',1,x-1) '{%f, %f},\n'], array1(1:end)), fprintf(fileID, '\b\b\n')
дает
{1.000000, 1.000000}, {2.000000, 2.000000}, {3.000000, 3.000000}, {4.000000, 4.000000},
{5.000000, 5.000000}, {6.000000, 6.000000}, {7.000000, 7.000000}, {8.000000, 8.000000}