我在 MAT 文件中有一个很大的结构。我想在不加载 MAT 文件的情况下检查结构中是否存在特定字段,因为内容非常大,我想尽量减少内存使用。
这是可能的,还是我必须像下面的例子一样先加载它?:
load('test.mat'); %# Load the MAT-file
tf = isfield(s,'fieldname'); %# Check if structure s has field 'fieldname'
要在不加载 MAT 文件的情况下检查它的内容,请使用:
vars = whos('-file','test.mat')
ismember('fieldname', {vars.name})
据我所知,您必须加载文件才能检查保存的结构是否包含特定字段。
但是,如果您使用'-struct'
-option保存 .mat 文件,它会将字段拆分为 .mat 文件中的单独变量。您可以通过调用重新创建结构
myStructure = load('test.mat');
以这种方式保存还允许您使用@Amro的方法(这比我之前建议的要干净得多)来测试字段(变量)是否存在。