У меня есть ниже функции:Matlab: Печать данных на определенной строке
function [] = Write(iteration)
status=close('all');
nomrep=num2str(iteration);
fid=fopen('ID.dat','a');
frewind(fid);
for l=1:iteration
line=fgetl(fid);
end
fprintf(fid,[nomrep,' \n']);
status=fclose(fid);
end
Я ожидаю, что Write(15)
создает ID.dat и печатает 2 и 15 в последовательных линиях в начале 15-го строчной.
Но эти значения всегда печатаются в начале файла.
Даже я пробовал fgetl(fid)
самостоятельно, а также заменил на цикл, пока цикл еще не работал.
Это связано с тем, что я должен заполнить строки перед этим с помощью какого-то фиктивного пространства? вдоль стороны этого, я выполнил
for i=1:5 Write(i); end
Который должен печатать от 1 до 5 в каждой строке, но даже это не работает.
Интернет я нашел другой способ даже это не работает 'функция [] = Написать2 (итерация)' ' статус = близко ('все'); nomrep = num2str (итерация); fid = fopen ('ID.dat', 'w'); tline = fgets (fid); для l = 1: итерация tline = fgets (fid); конец fprintf (fid, [nomrep, '\ n']); status = fclose (fid); конец – Soyol