Checking whether a field is present in cell.

3 次查看(过去 30 天)
I've got some variables stored in a cell but not all of the fields are present in every entry of the cell, so I need to check whether a particular field is present before I use the values contained in it. So I've got...
for m=1:NumYears
for p=1:NumTechnologies
if exist(TriangularVariables{m,p}.ReconstructedVariables)
disp('exists')
end
end
end
but Matlab returns the error 'Reference to non-existent field 'ReconstructedVariables''. I thought perhaps it was because I was referring to the contents of the cell rather than the name so I also tried round brackets but then Matlab complained that I wasn't referencing properly.
Thanks in advance.
  1 个评论
Natalie
Natalie 2013-10-3
All sorted now I used...
if isfield(TriangularVariables{m,p}, 'ReconstructedVariables')
instead. Still not exactly clear why the other way didn't work so I would be grateful if somebody could explain. Thanks.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by