String 在Matlab中调用结构中的字段名?
我正在将变量名MetabMapString传递给函数spectroscopy()。MetabMapString是我要调用的字段的名称。但似乎Matlab认为MetabMapString是字段名,因为它返回没有字段名MetabMapString。我已经包括了一些代码。有没有办法让它发挥作用String 在Matlab中调用结构中的字段名?,string,matlab,struct,field,String,Matlab,Struct,Field,我正在将变量名MetabMapString传递给函数spectroscopy()。MetabMapString是我要调用的字段的名称。但似乎Matlab认为MetabMapString是字段名,因为它返回没有字段名MetabMapString。我已经包括了一些代码。有没有办法让它发挥作用 function spectroscopy(MetabMapString) spect = importdata(spectLCMI); n = length(spect.MetabMapStr
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);
应该是:
n = length(spect.(MetabMapString));
这应该行得通。在使用包含字符串的变量作为结构或MATLAB类的字段名,或作为类的方法名的所有其他位置也一样:
spectOrig = spect.(MetabMapString);
什么是spectLCMI?变量?结构?它是一个包含数据的CSV文件。每个字段都有一个名称,然后是与该名称关联的一些数据。