我将变量名称MetabMapString传递给函数spectroscopy()。 MetabMapString是我想要调用的字段的名称。但似乎Matlab似乎是MetabMapString是字段的名称,因为它返回没有字段名称MetabMapString。我已经包含了一些代码。有没有办法让这个工作?
function spectroscopy(MetabMapString)
spect = importdata(spectLCMI);
n = length(spect.MetabMapString);
Row = spect.Row;
Col = spect.Col;
spectOrig = spect.MetabMapString;
...
end
这是错误
??? Reference to non-existent field 'MetabMapString'.
Error in ==> SpectDraw>spectroscopy at 1165
n = length(spect.MetabMapString);
答案 0 :(得分:3)
应该是:
n = length(spect.(MetabMapString));
那应该有用。在您使用包含字符串作为结构或MATLAB类的字段名称的变量或作为类的方法名称的所有其他地方也是如此:
spectOrig = spect.(MetabMapString);