mat文件中的数据相减

matlab中如何批量将命名方式一样的mat文件中的数据相减后将结果生成新的mat文件?

这段代码假设源文件目录 sourceDir 中包含多个以 data*.mat 命名的 MATLAB .mat 文件,其中星号 * 表示文件编号。例如,可能存在文件 data1.mat、data2.mat 等等

sourceDir = 'C:/path/to/source/files'; % 源文件目录
targetDir = 'C:/path/to/target/files'; % 目标文件目录

% 循环处理每个源文件
for i = 1:n
    filename = sprintf('data%d.mat', i); % 文件名
    sourceFile = fullfile(sourceDir, filename); % 源文件路径
    targetFile = fullfile(targetDir, filename); % 目标文件路径
    
    % 加载源文件中的数据到变量 A 和 B
    load(sourceFile, 'A', 'B');
    
    % 计算 A - B,将结果保存在变量 C 中
    C = A - B;
    
    % 将变量 C 保存至目标文件
    save(targetFile, 'C');
end
  • 给你找了一篇非常好的博客,你可以看看是否有帮助,链接:.mat文件的读取与报错总结
  • 除此之外, 这篇博客: 关于Matlab中循环遍历文件中mat文件,操作后依据原始mat文件名生成新的文件名并保存到新路径下中的 Matlab中对文件内.mat文件遍历读取并打标签保存 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 这篇文章是依据我自己的任务所查询学到的一些东西,在此记录下来供以后使用方便。我的任务是在train文件夹中有一组的训练数据,其格式都是mat文件类型,如下图。
     数据样例
    现在要给这些mat文件打标签,依据每个mat文件中的数据的数量来打标签,因为mat文件代表不同的个体,所以所打标签的文件名存储也应该和训练数据的文件名相关联,而且还要显示出label加以区分。