gpt4 book ai didi

matlab - 加载多个 .mat 文件进行处理

转载 作者:太空宇宙 更新时间:2023-11-03 20:02:23 25 4
gpt4 key购买 nike

在 MatLab 中,我(在运行大量代码后)将多个 .mat 文件输出到 .mat 文件。每个 .mat 文件的实际 matlab 名称称为 results 但我使用 save 命令将它们写入不同的文件。一小部分文件如下所示:

results_test1_1.mat
results_test1_2.mat
results_test1_3.mat
results_test1_4.mat

results_test2_1.mat
results_test2_2.mat
results_test2_3.mat
results_test2_4.mat

现在我想比较每个测试的结果,这意味着我必须加载所有四个 .mat 文件并将它们组合成一个图表。读取一个文件并制作最终的图表是没有问题的。但是由于所有文件都具有相同的 matlab 名称 results,因此迭代加载它们不是一种选择(至少,我还不知道)因为最后只有文件 4 保留下来,因为它重写了前一个

有没有办法加载所有这些文件并将它们存储在结构中的不同变量中(仅针对一个测试集)?因为手动完成所有这些工作量很大。

我试过使用这个方法:Load Multiple .mat Files to Matlab workspace但是我在 loaded.(char(file)) = load(file);

上收到了 Invalid field name 错误

最佳答案

您可以加载到变量(最好是元胞数组)

results = cell( 2, 4 ); % allocate
for testi=1:2
for resi = 1:4
filename = sprintf('results_test%d_%d.mat', testi, resi );
results{testi,resi} = load( filename );
end
end

现在您已将所有结果存储在 results 元胞数组中,您可以访问存储的变量,例如,

results{1,3}.someVar % access variable someVar (assuming such variable was saves to the corresponding mat file

关于matlab - 加载多个 .mat 文件进行处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17030172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com