我的字段名称包含(。)for matlab结构
当我创建结构时,它会抛出无效的字段名称错误
例如
fieldName = 'Freq.01'
结构
s.(fieldName) = 25;
答案 0 :(得分:3)
正如Yuans的评论所指出的,字段名称不得包含'。这可能是这种情况,因为字段的值可以是另一个字段。也许你想要取代'。'用' _'然后使用新的有效字段名:
fieldname = 'Freq.01';
fieldname = strrep(fieldname, '.', '_');
s.(fieldname) = 25
s.('hello').('world') = 17
Best,Nras。
答案 1 :(得分:2)
您可以使用matlab.lang.makeValidName
将无效名称(例如'Freq.01'
)转换为有效名称。 (这仅适用于相对较新版本的MATLAB)。
在旧版本的MATLAB中,您可以使用genvarname
。