qq_23009491 2022-04-03 17:21 采纳率: 0%
浏览 211

如何实现matlab提取多个文件的数据分开存放到不同的矩阵中

现在我有多个文件,每个文件可以提取出来一个矩阵数据(每个文件的数据名称都是相同的)

2000 2008 2018 2230文件中都可提取出Rawdata。
每个文件名字没有规律,如2000 2008 2018 2230 我可以得到是后面三位的矩阵如seq=[0,8,18,230]

matlab2022a
这是我单步实现样例的,如何实现多个一起,后面还需要对每个数据进行分析,得出来的多个数据还需要能够方便使用

FileName ='A2000';%%文件前都有A
FileName1 = strcat( 'D:\A2',FileName,'.0369');
[Rawdata]=readdata(FileName1 )

  • 写回答

2条回答 默认 最新

  • A-Chin 2022-04-03 18:44
    关注

    我的建议是,把所有文件放在一个文件夹里面

    1. 遍历文件夹,获取文件夹中的文件数(S);
    2. 读取其中一个文件,获取一个矩阵的大小(M * N);
    3. 设置一个M * N * S的数组A;
    4. 遍历所有文件,将每个文件的数组读取到数组A中。

    参考代码:

    % filepath为文件所处的文件夹
    filepath = 'D:\A2\';
    % 看楼主的文件后缀为.0369
    files = dir(strcat(filepath, '*.0369'));
    len = length(files);
    
    % 读取第一个文件
    [Rawdata] = readdata(strcat(filepath, files(1).name));
    
    % 创建一个空数组
    rawdatas = zeros([size(Rawdata), len]);
    
    for i = 1 : len
        [Rawdata] = readdata(strcat(filepath, files(i).name));
        rawdatas(:, :, i) = Rawdata;
    end
    
    % 写在最后
    % 第i个文件名是files(i).name
    % 第i个文件的数据为rawdatas(:, :, i)
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月3日