使用变量进行结构访问时引用不存在的字段

Reference to non-existent field when using variable for struct access

我是 Matlab 的新手,也许是一个非常基本的问题,但我需要帮助:

我有一条路:

file = C:\this\is\path\to\my_file.mat

这是一个包含嵌套结构的文件,我只需要访问一个变量。在我的脚本中,首先我需要获取我稍后将用作变量的文件名:

[pathstr,name,ext] = fileparts(file);

所以,现在我有了变量 name,其内容为 my_file.mat

S = load(file)

value = S.('name').structA.SubstructA1.variableA

Matlab 正在生成消息:

"Reference to non-existent field 'name'."

那么,在这种情况下如何正确使用变量?

你已经很接近了,只需删除变量 name 周围的单引号,如下所示:

value = S.(name).structA.SubstructA1.variableA