假设我有一个.mat文件,其中有几个相同结构的实例,每个实例都有一个不同的变量名 .
我想处理文件中找到的每个实例(我发现使用 whos('-file' ...
) . 我希望 load
允许我指定变量的目标名称,这样我就不必编写自修改代码了 eval
) .
执行此操作的强力方法似乎是创建一个辅助函数,使用名称希望与.mat内容不冲突的变量,可以执行以下操作:
-
文件上是否
whos
获取包含的名称 . -
迭代加载每个包含的结构 .
-
使用
eval
将加载的结构分配到单元数组中(其中数组的一列包含.mat文件的结构名称,而相应的列包含.mat文件中每个结构的实际内容) .
有没有更优雅的方式来完成同样的事情?
2 回答
当然可以!只需将
load
与输出参数一起使用即可 .你可以将MAT文件中的数据
load
转换成一个结构结构
ws
的字段将是MAT文件中的变量 . 然后,您甚至可以拥有一个结构单元阵列例