如何实现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 )

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

  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)

文件名可以用元胞来存储,搭配eval评估函数和for循环来实现批量读取。