我在不同的文件中有一系列结构,我想读入我的程序。加载文件时,我想打开并使用以下代码访问结构中的特定值。
structname_string='M1'
I=structname.Y(5).Data
但是它没有将structname视为包含M1的变量。它试图打开一个名为“structname”的结构,它不存在。
我尝试过简单直接的方法,例如genvarname(),但也没有用。我没有在任何简单的答案中找到任何类似的问题。
溴
答案 0 :(得分:1)
假设您的struct
存储在.mat
个文件中,您可以这样做:
fs = load(filename);
I = fs.(structname_string).Y(5).Data;
fs
包含存储在filename
中的所有变量,并且本身是struct
,其字段可以动态访问。
答案 1 :(得分:0)
如果我理解你的问题,我认为你想要的函数是isfield(),你可以在那里查询结构中字段的字符串名是否存在。
如果isfield()
返回true,那么您可以在知道该字段存在的情况下执行结构读取。