Matlab改写txt文本里特定一行的数据出错的问题

Matlab改写txt文本里特定一行的数据出错的问题时,用下面的代码,改是改好了,但是,下一行的数据没了,其他数据都是好的,不知道为什么?有大神解答一下吗?万分感谢,很急!!

    Gaodu = [100 1000 2000 3000 5000];
     fid1 = fopen('Set.dat','r+');
     for l1=1:26
        fgetl(fid1);
     end
    fseek(fid1,0,'cof');
    a = Gaodu(3);
    fprintf(fid1,'%f \n',a);
    fgetl(fid1);  
    fclose(fid1);

改写第27行的数据,27行的数据成功改写,可是,第28行的数据没了;
奇怪的是,我改写第24行时,也就是把 l1=1:26变成 l1=1:23时,却成功了,没有什么错误发生。
下面是我的Set.dat文件
Set.dat文件