我试图引用一个埋在我没有创建的结构中的元素(因此我不知道它的确切构建方式)。
加载结构后,如果我输入:
dataFile.RECORDINGS.eye
我收到以下输出:
ans =
2
ans =
2
这两个变量总是相同的,但它们可以在任何时候为 1、2 或 3。我想做的是使用如下所示的 switch 语句进行检查:
switch dataFile.RECORDINGS.eye
case {1, 2}
% action A
case 3
% action B
end
当然,上面会引发错误,因为“case”无法检查 dataFile.RECORDINGS.eye 是否包含给定值,因为该地址下存储了两个元素。所以,我的问题是:我如何只引用其中一个元素?我认为这就像替换第一行一样简单:
switch dataFile.RECORDINGS.eye(1)
...但是,这给出了错误:
??? Field reference for multiple structure elements that is followed by more reference blocks is an error.
同样,我无法访问这样的元素:
switch dataFile.RECORDINGS.eye.1
...当我收到以下错误时:
??? Dot name reference on non-scalar structure.