【发布时间】:2014-04-08 22:54:42
【问题描述】:
我正在尝试将大约 40 个文件加载到 MATLAB 中,除了 2 个变量部分之外,所有文件的名称和位置都相同。它们每个都包含 5000 个数据点,我想将它们组合成 1 个单个向量。 它们是 HDF5 文件,所以我还必须指定文件内部的路径,其名称中也包含这些变量。
加载这些文件之一的示例是
ROdata = double(h5read('directories\010340text2\010340text2.hdf5','/othertext2'));
这里,变量是 010340 和 2。所以一般形式类似于(x 和 y 的 n 项)
ROdata = double(h5read('directories\xtexty\xtexty.hdf5','/othertexty'));
x 和 y 我已经在一个数组中加载到 MATLAB。
从这一点来看,我很无知。我想 num2str 出现在某个地方,但我尝试了一些方法(例如在视频 http://blogs.mathworks.com/videos/2009/07/02/advanced-loading-files-using-their-names-for-variable-names/ 中),但这不起作用,因为变量部分在文本内部,而不是在末尾。
我当然可以手动完成,但是这 40 个来自大约 300 个系列,所以要写很多。
【问题讨论】:
-
请包括两个变量如何变化(及其范围)的模式。
-
x 没有真正的模式。例如,它是 010307、010323、010340,甚至数字也会不时变化。他们指的是时间。 y 只是 0 到 24。
-
我认为你应该看看使用通配符的
dir函数:filenames = dir('directories\*text*\*text*.hdf5'); -
一些一般建议:首先创建所有字符串,然后再尝试加载它们。这种方式应该更容易尝试。
-
@Dan 我认为
dir命令不能接受文件夹名称中的通配符。