检查 Matlab struct, dynamic Field Value 是否为空
Check if Matlab struct, dynamic Field Value is empty
我有一个结构 x,带有动态字段,分别是动态字段名称。但基本上,只有 first Field 与我相关。
所以我想检查 first Field 的值是否为空,说出 1x1cell 或 0x1cell..
或
我正在试验,例如与:
isempty(fieldnames(x))
isempty(x(1))
if isempty(x(1))
msgbox('empty')
else
msgbox('result')
end
但没有解决办法。有人知道吗?
说吧,检查struct的first字段的Value是否为空..
如果只有第一个字段与您相关,那么您可以进行以下操作:
获取结构的字段名列表
names=fieldnames(x);
获取第一个字段的大小
SizeOfFirstField=size(x.(names{1}));
然后您可以检查 SizeOfFirstField
中的第一个值在您的 if
条件中是 0 还是 1 :
if SizeOfFirstField(1)==0
msgbox('empty')
else
msgbox('result')
end
也许你也可以试试这个更短的形式:
isempty(fieldnames(x))
其中 x 是您的结构变量。
我有一个结构 x,带有动态字段,分别是动态字段名称。但基本上,只有 first Field 与我相关。 所以我想检查 first Field 的值是否为空,说出 1x1cell 或 0x1cell..
或
我正在试验,例如与:
isempty(fieldnames(x))
isempty(x(1))
if isempty(x(1))
msgbox('empty')
else
msgbox('result')
end
但没有解决办法。有人知道吗?
说吧,检查struct的first字段的Value是否为空..
如果只有第一个字段与您相关,那么您可以进行以下操作:
获取结构的字段名列表
names=fieldnames(x);
获取第一个字段的大小
SizeOfFirstField=size(x.(names{1}));
然后您可以检查 SizeOfFirstField
中的第一个值在您的 if
条件中是 0 还是 1 :
if SizeOfFirstField(1)==0
msgbox('empty')
else
msgbox('result')
end
也许你也可以试试这个更短的形式:
isempty(fieldnames(x))
其中 x 是您的结构变量。