You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:MATLAB中读取TXT文件缩放后重命名保存的写入问题

解决MATLAB批量处理TXT文件并写入的问题

我来帮你补上写入文件的环节!你的代码已经完成了读取和数值缩放的核心操作,只需要在循环里添加几行代码,就能把处理后的数据保存成BF1.txt到BFn.txt啦。

修改后的完整代码

NoOFfiles = 4; 
for k = 1:NoOFfiles 
    % 生成原文件名并读取、缩放数据
    filename = sprintf('B%d.txt',k); 
    A = load(filename)./1000; 
    
    % 生成输出文件名
    output_filename = sprintf('BF%d.txt',k); 
    % 将缩放后的数据写入新文件
    save(output_filename, 'A', '-ascii', '-double');
end

代码解释

  1. 生成输出文件名:用sprintf和原文件编号k拼接出BFk.txt的格式,逻辑和读取原文件时保持一致。
  2. 写入文件:使用MATLAB的save命令,加上-ascii参数确保保存为纯文本格式(而非MAT专属的二进制文件),-double参数保证数值精度。如果需要更灵活控制输出格式(比如指定小数位数、自定义分隔符),也可以用以下两种方式:
    • 用dlmwrite快速写入(适合矩阵型数值):
      dlmwrite(output_filename, A, 'delimiter', ' '); % 用空格作为数值分隔符
      
    • 用fprintf精细控制格式(适合自定义输出样式):
      fid = fopen(output_filename, 'w');
      fprintf(fid, '%.6f\n', A); % 保留6位小数,每行输出一个数值
      fclose(fid);
      

注意事项

  • 确保B1.txt到B4.txt(或你设置的NoOFfiles对应数量)都在MATLAB当前工作目录下,否则需要在文件名前加上完整路径(比如'./data/B%d.txt')。
  • 如果原TXT文件包含非数值内容,load命令会报错,这时可以改用readmatrix或textread来读取数据,适配更复杂的文件格式。

内容的提问来源于stack exchange,提问作者user3780018

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:53:24