MATLAB 写入 txt

  • Post author:
  • Post category:其他


写入矩阵

fid = fopen('data.txt', 'wt');
mat = M;
for i = 1:size(mat, 1)
    fprintf(fid, '%f\t', mat(i,:));
    fprintf(fid, '\n');
end
fclose(fid);

打开txt方式

fid = fopen(文件名,‘打开方式’);

说明:fid用于存储文件句柄值,如果fid>0,这说明文件打开成功。打开方式有如下选择:

‘r’:只读方式打开文件(默认的方式),该文件必须已存在。

‘r+’:读写方式打开文件,打开后先读后写。该文件必须已存在。

‘w’:打开后写入数据。该文件已存在则更新;不存在则创建。

‘w+’:读写方式打开文件。先读后写。该文件已存在则更新;不存在则创建。

‘a’:在打开的文件末端添加数据。文件不存在则创建。

‘a+’:打开文件后,先读入数据再添加数据。文件不存在则创建。

另外,在这些字符串后添加一个“t”,如‘rt’或‘wt+’,则将该文件以文本方式打开;如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。

(注:当用‘a’时,如果文本中已经存在数据,不会清空数据,而是在数据之后写入,而‘w’会清空原本的数据,重新写入)

原文链接:https://blog.csdn.net/qq_40969467/article/details/82735611

在已有的txt 文件中查找某一行并加入新的元素

    while ~feof(fid)
        tl = fgetl(fid);
        id = findstr(tl,'PERMI');
        if ~isempty(id)
            fprintf(fid,'\n');
            mat = perm100{num};
            for i = 1:size(mat, 1)
                fprintf(fid, '%f\t', mat(i,:));
                fprintf(fid, '\n');
            end
            fprintf(fid,'%f\n',perm100{num}(end,end));
        end
    end

    
    for i=1:size(temp20,2)
        fprintf(fid,'%s\n',temp20{i});
    end
    fclose(fid);

将文件分为两部分,先朝招关键词,写入数据,再把之后的信息写入。



版权声明:本文为time_forgotten原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。